PFC 6.0 Migration |
Page 3 of 3 |
After the objects have been copied the inheritance structure and the relationship between the PFC objects may have been modified. Full rebuild will recompile each object and synchronize the related objects. Successful rebuild will signal the near completion of the migration process, while errors during rebuild may point you to the conflicts between the PFC 6.0 and your extensions. If the rebuild fails you may not be able to open some of the objects in the painter. At this point it may be wise to perform a backup prior to initiating a full rebuild.
| Step 9 | Backup and perform a full rebuild of the application |
The Obsolete Syntax name is misleading. As a rule, nothing in PFC 6.0 was obsolete. The "obsolete" objects, events and functions were simply marked for removal, but are fully functional. The obsolete objects were moved into pfcold.pbl. The obsolete constants remain declared in the objects. The obsolete events and functions typically contain a call to the new event or function. However, this will not be the case in the next major revision. The obsolete constants, functions and possibly events may be removed from PFC 7.0. Although after a successful rebuild the application may be fully functional, the conversion process is not yet complete. It is recommended that all references to the obsolete constants, functions and events be replaced by the new syntax. Migration Assistant, once again may be used again to identify the obsolete PFC syntax.
PFC developers have done an excellent job keeping the service and control behavior backwards compatible. However, it is impossible to address every possible combination and possibilities of modified behavior do exist. Subtle changes are possible in interactions between different services. Keep your eyes and ears opened and visit the on-line support newsgroups and mailing lists. The issues of modified behavior will come up there first. Keep a running document of inconsistencies you may find.
In addition to staying on top of the behavior changes, you may want to identify the areas where you would like to take advantage of the new PFC 6.0 features. Common visual and non-visual ancestors is one such example. The inheritance structure of PFC objects has been modified in 6.0 to point to common ancestors. If you have added datawindow services, inherited from the base datawindow service - n_cst_dwsrv, no additional work has to be done. The base datawindow service inheritance is already adjusted. However, if you have added other services you may want to change the inheritance to point to the new non-visual object ancestor. In the initial 6.0 release the non-visual ancestor object contains minimal functionality. In contrast, the visual object ancestor contains features such as Self Updating Object functions and Resize service hooks. Changing the ancestry of custom visual user objects is highly recommended because of the value added by these features.
PFC 6.0 includes most of the bug fixes of PFC 5.0.4. Next post-conversion issue is to identify extension layer objects, which may contain temporary bug fixes. The bug fixes may have been implemented by overriding events or functions. If the overridden event contains new logic in PFC 6.0, the object may not function as expected. When converting to PFC 6.0 from a revision 5.0.03 or earlier you need to identify which bug fixes are no longer needed. If you have documented every bug fix or have identified them with consistent comments, you're in luck. You can use the your documentation or the Migration Assistant to identify the overridden function or events. Depending on your current revision, you may need to examine the 5.0.01, 5.0.02, 5.0.03, 5.0.04 and 6.0.00 readme.txt files. Compare the extension logic against the bug fixes listed in the readme.txt files and remove the extension logic that is no longer required.
| Step 10 | Scan the project PBLs for obsolete PFC objects and Syntax. Remove the obsolete references and pf?old.pbl(s). |
| Step 11 | Examine the objects for areas of modified behavior. If desired, change the user object inheritance to point to the new ancestors. |
| Step 12 | Scan the project PBLs for overridden events. Make sure that overridden event do not interfere with the new PFC 6.0 behavior. |
Faxline document
44505
PowerBuilder Foundation Class Library: Upgrade Strategy for Customized Extension Levels
Faxline
document 47714
Technical Migration Information for Migrating to PowerBuilder 6.0
Faxline
document 47718
Release Notes for PowerBuilder Version 6.0 Enterprise Edition
PM 40 User
Conference 97 Session
New Features in the PFC Library
Last revised: February 15, 2004 03:58 AM.