Kbase 18125: ADM-ADM2. State-changed removed by SmartObject Conversion Utility
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/10/2008 |
|
Status: Verified
FACT(s) (Environment):
Progress 9.x
SYMPTOM(s):
ADM-ADM2. State-changed procedure is removed from Version 8 SmartObjects once they are converted to Version 9 objects with the SmartObject Conversion Utility.
SmartObject Conversion Utility
CAUSE:
Since the state message mechanism has been removed from v9, the SmartObject Conversion Utility shipped with Pro*Tools will remove the state-changed procedure from SmartObject instances, such as SmartViewers and SmartBrowsers.
FIX:
If you have customized these state-changed internal procedures within a SmartObject instance, your customizations will be removed with the removal of the state-changed procedure. All Version 8 code is copied to a V8-ADM directory so when you are in the process of converting your SmartObjects to Version 9 style objects (beyond what the conversion utility can provide for you), you will still have a copy of your code that you can use to implement your states another way (with properties and publish/subscribe).
Another option available to you would be to customize the conversion utility so that state-changed procedures are not removed from your SmartObjects. The conversion utility is data driven from the gui/protools/v89names.dat file. There is a remove list in the file that lists attributes and procedures that will be removed by the utility. "STATE-CHANGED" is listed as a Procedure to be removed. If you remove the "STATE-CHANGE" Procedure line from this file your state-changed procedures in ALL of your SmartObject instances that are converted will remain intact. These SmartObjects will then fail to compile which is expected since the state message mechanism has been removed, but your customized state code will still exist in your objects which may assist you in modifying it to conform to ADM2.