on ‎2015 May 08 5:47 PM
Hi,
Let me brief about my application before ask the question. In our application, we build patch and deploy at client machine. For building patch, we have a library upatch.pbl. This library is only for patch items. whenever we work on defect any released version. We work on object and move it to upatch library.
Once done, we build upatch library using incremental build. Once build is done, we deploy this upatch.pbd at client machine. This update.pbd resides at top in library list so that changed object takes preference in the application. Now the problem is whenever we run the application, we get bad runtime object reference error and application crashes. One workaround, I know is to add reference objects in upatch library and again build the incremental build. We don't know which reference may fail during running the application. We don't get this issue in development mode (running through pbls).
We can not know which reference is failing until we thoroughtly test the whole process. I don't want to increase the size of the upatch pbls (by adding reference objects).
What is the best way to avoid this bad runtime object reference issue. We can't run the full build otherwise we would have to deploy the whole pbds at client machine.
Please help me. I am attaching the error which we get when run the applications.
Please help.
Thanks,
Vipin
469-3058208
Request clarification before answering.
Hi,
If you want to deploy an updated pbl and not an entire application then that is not guaranteed to work,
because objects are dependent on each other.
It is that way since, I believe, PowerBuilder 4 or 5.
If an object needs to call an object or property of a different object then it already knows where to call it. But if you have changed the object or the object in the already deployed app is different from the one you compile against, then you have a problem because the functions might be at a different place.
That was an issue at the time, but there was also a solution introduced at the same time (although maybe not intentionally) by which you can make sort of remote function calls like com calls to other objects. These are the dynamic function calls.
If you want to call a function from an object that may have changed then the use of the dynamic keyword is mandatory. With that keyword added functions will be looked up by its name and no longer looked up by its address and it will be a call more in the style of com, j2ee or corba (remote object calls.
Ben
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 9 | |
| 5 | |
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.