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.
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.
Just comparing the source code of the OpenEdge.Core.String (github.com/.../String.cls)
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.
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.