Installation on OE11.0, AppBuilder

Hi Prolint community :)

I know there are already a lot of posts about the proparse installation, that I have read, but it seems I'm still missing something.
I get the error:
Could not find class or interface org.prorefactor.core.JPNode. (12886)

I do not use Eclipse, but AppBuilder, and OE11.0 32 bits. Is it a problem?

Of course I have:

  • created an "assemblies" directory
  • added the startup parameter -assemblies C.\mydir\assemblies
  • created an assemblies.xml file inside, containing:
    <?xml version="1.0" encoding="UTF-8"?>
    <references>
    <assembly name="proparse.net, Culture=neutral, PublicKeyToken=cda1b098b1034b24"/>
    </references>
  • copied the 3 dll files into this directory (it is not in the propath, so I also tried propath and event PATH)

Then I start my session, and get the above error when trying to lint.

It is not about prolint itself, but the proparse installation. If I syntax check the following one-line .p, I get the error.

FUNCTION parserGetNode RETURNS CLASS org.prorefactor.core.JPNode (handleNum AS INT).

I know the starup parameter is taken into account: I get an error if a rename the dir or make a typo in its name, and also if I rename the assemblies.xml file.

What am I missing?

Thanks in advance

regards

Jice


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
pauldfixr's picture

I think I can help with OE 11 and assemblies

It sounds like you have everything set up correctly.

Please note that I wrote this entire post/reply before realizing you said in yours that you do NOT use Eclipse or, as I like to call it, PDSOE. However, read on in case my comments on assemblies.xml make any difference at all.

Plus, maybe this post will help someone else who is using PDSOE in the not too distant future.

In PDSOE, you should see immediately under the project name in the Project Explorer, a "Referenced Assemblies" node, and under that, proparse.net. If you don't (and I had this issue too), it is likely due to a version mismatch between the proparse.net dll and the entry in your assemblies.xml.

I am a real noob at this, and Dr Thomas Mercer-Hursh had to lead me to the answer.

There are a few different versions of the proparse.net dll floating around out there. The one I am using is 4.0.1.1128. You can find the version by looking at the properties sheet of the dll. Just right-click on the dll file, then choose the details tab, and the File version is the third entry on the tab. Until those numbers match, the "Referenced Assemblies" node won't appear, and neither will the proparse.net node beneath it.

In my case, I was installing Dr. Thomas Mercer-Hursh's ABL2DB project.

It required three dll's to be in the "Referenced Assemblies", and until I straightened out the proparse.net.dll revision, none of the three appeared, nor did the "Referenced Assemblies" node itself!

After everything appeared to be active and in the right place, I still had to add the -assemblies parameter in the appropriate run configuration before it could be referenced at runtime. This is arguably a PDSOE bug. I'm running 11.3, but I understand it is still lurking in 11.6.

My complete assemblies.xml is posted in one of the pictures, which is a bit different from yours. Yours appears to be missing the revision node altogether.

I've added pictures of the PDSOE settings and Project Explorer window.

I do hope that helps!

And, I hope to hear from you on my PDFInclude question.

-pauldfixr


Thanks for your answer!I do

Thanks for your answer!
I do not use PDSOE but it helped me: your speaking of the versions made me do a last test, i.e. I removed the Version= string in the xml so that it takes any version, and added the IKVM assemblies, also without a version - I tested previously, but also with the Version- ... and it worked!

My working assemblies.xml:

<?xml version="1.0" encoding="UTF-8"?>
<references>
<assembly name="IKVM.OpenJDK.Core, Culture=neutral, PublicKeyToken=13235d27fcbfff58"/>
<assembly name="IKVM.Runtime, Culture=neutral, PublicKeyToken=13235d27fcbfff58"/>
<assembly name="proparse.net, Culture=neutral, PublicKeyToken=cda1b098b1034b24"/>
</references>

I also add to edit core/dlc-version.i in order to take into account version 11. It was stuck at 10. I added the 2 lines about version 11 in the code below:


/* Which (main) version of Progress are we running? */
&IF INTEGER(ENTRY(1,PROVERSION,'.'))=8 &THEN
&GLOBAL-DEFINE dlc-version 8
&ELSEIF INTEGER(ENTRY(1,PROVERSION,'.'))=9 &THEN
&GLOBAL-DEFINE dlc-version 9
&ELSEIF INTEGER(ENTRY(1,PROVERSION,'.'))=10 &THEN
&GLOBAL-DEFINE dlc-version 10
&ELSEIF INTEGER(ENTRY(1,PROVERSION,'.'))=11 &THEN
&GLOBAL-DEFINE dlc-version 11
&ENDIF

Hope this will help someone in the future ;)