Hi,
In my company we were running PB 2022 R2 since it was released. We have a large structure of PBLs interconnected one with the others. We have the Core, Framework and application specific PBLs. Furthermore, we are using PBAutobuild in order to deploy all applications using Incremental builds in order to save time.
Couple of weeks ago, an issue come into my plate. While trying to reproduce it, it was impossible to me to do it from the IDE. The error never happens, but when I run it from the EXE file, it happens all the time. So, try to find the root cause is, at least, very difficult. My suspicion is that it's something related to memory usage and object inheritance.
My questions are the following: why do we get different results when we run from the IDE, having done an incremental or a full deployment? Should we "distrust" an incremental and always opt for a full one?
Before using PBAutobuild, with PowerGen, deploying all our applications has taken up to 6 hours. Now, with the incremental one we are around 1 hour. I think the interest in the incremental one is more than evident.
Thank you very much for any information you can provide me.
Also, it would be great if you could take the same source code and try the beta version of PB 2025 see if the new compiler has same problem or not for incremental. We completely rebuilt the compiler from the ground up in PB 2025... you need to select "Solution" to use the new compiler and "Workspace" is the old compiler.
FYI: When you make some changes to ancestors as in their class definitions, you MUST then perform a Full Build in order to have the Descendant's Class definitions realigned to the upper ancestor(s). The Incremental Build quite often will not go far enough in that class re-building process.
Tip: The best way forward when making various high level ancestor changes, is to use the PB IDE's "Object Browser". From there, open up an inheritance class, select "show the hierarchy", then select "Expand All" and then perform a "regenerate" from the BASE (highest) level ancestor. This technique will *force* realign all the descendants code to the changed ancestor(s).!
I do this all the time in my STD Framework. HTH ;-)
Regards ... Chris