OpenEdge.Core, 11.6 - 11.7 - Forum - Community Groups - Progress Community

OpenEdge.Core, 11.6 - 11.7

 Forum

OpenEdge.Core, 11.6 - 11.7

  • 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

  • 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

    Architect of the SmartComponent Library and WinKit

    Consultingwerk Ltd.

  • 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.

  • 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.

    Architect of the SmartComponent Library and WinKit

    Consultingwerk Ltd.

  • 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.