OpenEdge.Core, 11.6 - 11.7

Posted by goo on 02-Nov-2018 00:56

Using 11.7 when developing, but production still on 11.6. How use of I.e OpenEdge.Core.String in code compiled with 11.7 work in 11.6 with use of 11.6 OpenEdge.Core.pl? When running, it complains about the class

All Replies

Posted by Mike Fechner on 02-Nov-2018 01:07

Hey Geir Otto,

it’s my experience, that when using any of the classes from the OpenEdge procedure libraries, you can no longer use consuming r-code across OpenEdge releases (sometimes not even across service packs).

Just comparing the source code of the OpenEdge.Core.String https://github.com/consultingwerk/ADE-Sourcecode/blob/master/src/corelib/OpenEdge/Core/String.cls 

The String is implementing a new Interface, adds two more properties, three new methods, … this all breaks compatibility of the r-code of the consuming code. You will have to compile on 11.6 if running on 11.6. And be prepared, that when on 11.7.3 you’re referencing

method public void Trim(input pCharacter as character):

in your code, it will break on 11.6 as the method was just not there yet. If you need to develop on 11.7 and deploy on 11.6, better setup Jenkins with Integration build on both OpenEdge releases.

If you are not using PASOE and Web Handlers, you might get away with using the 11.7 versions of the OpenEdge.Core classes on 11.6 … but if you’re using Web handlers or the http client, chances are high that you’ll be breaking something.

Cheers,

Mike

Posted by goo on 02-Nov-2018 01:26

Ok, could I include the OpenEdge.Core.pl from 11.7 in propath. Would that be a possible solution? As for now, I just removed the use of OpenEdge.Core.... but that is a way too bad solution ...

Sendt fra min iPad

2. nov. 2018 kl. 07:08 skrev Mike Fechner <bounce-mikefechner@community.progress.com>:

Update from Progress Community
<avatar-png_2D00_70x70x2-png>
Mike Fechner

Hey Geir Otto,

it’s my experience, that when using any of the classes from the OpenEdge procedure libraries, you can no longer use consuming r-code across OpenEdge releases (sometimes not even across service packs).

Just comparing the source code of the OpenEdge.Core.String (github.com/.../String.cls)

The String is implementing a new Interface, adds two more properties, three new methods, … this all breaks compatibility of the r-code of the consuming code. You will have to compile on 11.6 if running on 11.6. And be prepared, that when on 11.7.3 you’re referencing

method public void Trim(input pCharacter as character):

in your code, it will break on 11.6 as the method was just not there yet. If you need to develop on 11.7 and deploy on 11.6, better setup Jenkins with Integration build on both OpenEdge releases.

If you are not using PASOE and Web Handlers, you might get away with using the 11.7 versions of the OpenEdge.Core classes on 11.6 … but if you’re using Web handlers or the http client, chances are high that you’ll be breaking something.

Cheers,

Mike

View online

 

You received this notification because you subscribed to the forum.  To unsubscribe from only this thread, go here.

Flag this post as spam/abuse.

Posted by Mike Fechner on 02-Nov-2018 01:30

As I said … that might break PASOE Web handlers or the http client, of both have dependencies to OpenEdge.Core.pl.
 
If that’s no issue, try it.
 
But truly. You need a build system for cross-version builds. It’s not as difficult as it sounds.

Posted by goo on 02-Nov-2018 01:44

I understand :-) as for now I use only stuff like String etc. But I see the cross platform problem and cross version problem.

Sendt fra min iPad

2. nov. 2018 kl. 07:32 skrev Mike Fechner <bounce-mikefechner@community.progress.com>:

 Update from Progress Community
Mike Fechner

As I said … that might break PASOE Web handlers or the http client, of both have dependencies to OpenEdge.Core.pl.
 
If that’s no issue, try it.
 
But truly. You need a build system for cross-version builds. It’s not as difficult as it sounds.

View online

 

You received this notification because you subscribed to the forum.  To unsubscribe from only this thread, go here.

Flag this post as spam/abuse.

This thread is closed