Releasing a GUI program with ADM2 Objects

rolguin

Member
Hi,

I have created a new GUI Program, it is working fine when I run from AppBuilder.

But when I go for release it I am having problems with SmartDataBrowser and SmartToolBar, more especifically - adm2\dyntoolbar.w

I have brought the entire folder to ADM2 to the Library .pl.

But I am getting error messages for Internal Procedure missing from the Toolbar.

Any help will be gratefull.

BUFFER-FIELD OpenQuery was not found in buffer ADMProps. (7351)
Invalid widget-handle. Not initialised or points to a deleted widget (3135)
Cannot access the BUFFER-VALUE attribute because the widget does not exist. (3140)

Thanks,
Regards,
 

rolguin

Member
Hi Cecil,

That aplication is developed using OE10.2B and OS system: Windows 7 - this environment it is for Development Client and the Client.

Thanks,
Regards,
 

RealHeavyDude

Well-Known Member
What exactly is happening here is that somebody tries to read the property OpenQuery from a smart data object which obviously does not have such a property. AFAIK the OpenQuery property is only available in SDO - therefore I do suspect that there is a wrongly placed data link to the toolbar.

Another scenario is that when you upgrade your Progress installation and you use the version of the ADM2 that comes with the installation you need to re-compile every smart object because the dynamic Temp-Table ADMProps is included into the smart object at compile time. Therefore if a new version of the ADM2 introduces a new property the super procedure for the object type will contain the get and set functions but the base object won't contain the corresponding field in its ADMProps Temp-Table unless you re-compile it.

Heavy Regards, RealHeavyDude.
 

rolguin

Member
Hi,

The program it is working fine when it runs from Appbuilder.

So, as your are saying we should recompile the ADM2 stuff - that message should come up, as well, in the AppBuilder environment? Is that right?


Regards,
 

RealHeavyDude

Well-Known Member
An application running fine in the AppBuilder does not mean much. Usually productive environments are different than development environments. Do you run the software in production with an AppServer or is the application connected directly to the database ( in the AppBuilder you are usually connected directly to the database )?

An error message regarding an invalid widget handle because of a field missing in the ADMProps Temp-Table is just that. The ADMProps Temp-Table of the smart object which is queried for the property OpenQuery does not contain it. There are only two possible reasons for that:

  1. The smart object does not contain the property because the property is not meant for this type of object. A toolbar does not contain the property OpenQuery because it is not a data-source nor is it a data-target. The OpenQuery property is contained in the query.p class super procedure ...
  2. The property was added to the ADM2 in a newer release and you did not compile your existing smart objects with the new release of the ADM2 in the PROPATH.
Your code might be running fine in the AppBuilder because you might run on-the-fly compiled source code whereas in production you run the compiled code ...

What is your Progress/OpenEdge version?

Heavy Regards, RealHeavyDude.
 

rolguin

Member
Hi Dude,

Version: OpenEdge 10.2B.

I sorted when I brought the whole adm2 folder to the Client. So, instead to bring the entire folder to each client I though importing the same programs in the Library PL would work.
But again is not working. Why is that? It was able to find out through the Production Installation Path BUT it is not when I imported to the Library .pl, even leaving with the same structure.
moz-screenshot.png

Listing of library 'custom.pl'
Library code page is iso8859-1. (4309)
Library format is STANDARD. (9013)
Name Size Type Offset Modified Added To Lib
adm2/appserver.r 109270 R 4283541 04/28/10 02:50:12 02/22/11 09:35:53
adm2/askquestion.r 16796 R 624670 04/28/10 02:50:12 02/22/11 09:35:53
adm2/b2b.r 207228 R 4392811 04/28/10 02:50:12 02/22/11 09:35:53
adm2/browser.r 491611 R 4600039 04/28/10 02:50:12 02/22/11 09:35:53


Thanks for your help.
 

RealHeavyDude

Well-Known Member
Now you've lost me. From what you are telling me regarding the procedure libraries it could be all or nothing.

If I must I would speculate that this is now a PROPATH issue. Did you check your PROPATH? Does it have you procedure libraries in the path before any other that might reside somewhere else?

Heavy Regards, RealHeavyDude.
 
Top