I think there would be no problem, but I better check this with the Community.
At the moment I develop with 11.7.2 and think about moving to 11.7.3.
One of my customers is on 11.7.2 and cant upgrade to 11.7.3.
If I compile my SW with 11.7.3 - will this Program run in an 11.7.2 environment?
The Client connect with TCPIP, no self servicing.
The service packs does not have compatibility restrictions w.r.t the r-code. The code which is compiled on 11.7.3, can run from 11.7.2 environment.
I think that that is only true if you do not use any 11.7.3 specific features, for example SESSION;EXIT-CODE which should result in a higher internal r-code version than 11.7.2.
Hi, if you are not using PASOE, you should be ok. We encountered a PASOE related problem when upgrading from 11.7.1 to 11.7.3 because some of our classes inherit OpenEdge.BusinessLogic.BusinessEntity and that class was changed in 11.7.3. The problem is similar to what is described here:
IMHO r-code portability does not exist. Over the years I encountered so many exceptions that I do not rely on it.
Recently we even had to recompile our code because of a windows update had changed the .Net framework version. see knowledgebase.progress.com/.../error-12882-after-installing-creators-update-on-windows-10
It might work or you can encounter one of the exceptions that cause it to fail.
I prefer to play safe and compile on exactly the same version.
What does seem to work fine is compiling 64bit and running 32bit or vice versa, as long as you do not use conditional compilation using process-architecture.
r-code referencing ABL classes shipped by PSC (e.g. the http client in OpenEdge.Net.pl) may also be incompatible between service packs. Between 11.7.2 and 11.7.3 some arguments of those classes have changed - causing the r-code out of sync error message.
IMHO it's required to recompile in so many cases, that it's safe to assume, there is no r-code compatibility between service packs at all.
Architect of the SmartComponent Library and WinKit
If you are using Assemblies such as the Infragistics controls you should also be aware that you may get runtime errors due to the compile time versions of these being different to the ones present at runtime.