Tech Articles


Updating the Datawindow Object Definition


I'm doing some work on an application to aid in the mass update of various datawindow attributes. It's not rocket science since you are dealing with a series of text files and doing some basic 'find and replace' operations. However, if you have ever worked on a project which has been around for a while you will notice that datawindows do not get 'migrated' when you upgrade to a newer version of PowerBuilder; the export syntax remains at the version in which the thing was last modified and saved.

Now you might think that using the LibraryExport and LibraryImport methods will do the trick but you would be mistaken. A newly imported datawindow object keeps the same version as when it was exported.

To accomplish the task you need to use the datawindow CREATE method.

integer li_file, li
string ls_old_syntax, ls_importsyntax
// old datawindow syntax saved to a file
ls_old_syntax = 'C:\temp\d_oldstuff.txt'
// open and read the file
li_file = Fileopen(ls_old_syntax, TextMode!)
Filereadex(li_file, ls_importsyntax)
// remember to close the file
FileClose(li_file)
// check version of ls_importsyntax
IF POS(ls_importsyntax, 'release 12.5;') > 1 THEN
   // its already new, leave it alone        
ELSE
   // dw_new is object on the window
   dw_new.reset()
   dw_new.dataobject = ''
   // create the new datawindow object from the old syntax
   li = dw_new.create(ls_importsyntax, ls_err) 
   // now get the new syntax
   ls_new_syntax = dw_new.describe("DataWindow.Syntax")   
END IF

Now you can do whatever you want with the new syntax.

Comments (0)
There are no comments posted here yet

Find Articles by Tag

Configuration DragDrop OAuth 2.0 Database Object Database Resize iOS OAuth GhostScript RichTextEdit Control Repository Performance DLL TFS Database Connection 64-bit Windows OS Authorization Database Table Data IDE Bug Export JSON Linux OS Outlook Branch & Merge DevOps SQL Server PBDOM Web Service Proxy OrcaScript Import Database Table Schema Elevate Conference Visual Studio InfoMaker CI/CD Stored Procedure Application BLOB UI Modernization Trial .NET DataStore Sort COM Platform SnapDevelop Model UI RESTClient Variable SVN .NET Assembly NativePDF Charts DataType PowerBuilder Error PBNI JSON CrypterObject External Functions CoderObject Export PostgreSQL MessageBox PowerScript (PS) Debugger Web API PowerBuilder (Appeon) .NET Std Framework WebBrowser SDK Oracle Class Deployment PDFlib PowerServer Web Design Excel Encoding Text JSONParser File Debugging SqlExecutor SOAP PDF API WinAPI Messagging TortoiseGit Validation Migration PowerServer Mobile Window Event OLE Jenkins Encryption DataWindow JSON Database Painter XML Mobile Authentication Open Source Icon C# 32-bit Database Profile Interface DataWindow Filter ActiveX PowerBuilder Compiler Database Table JSONGenerator SnapObjects Array Import JSON Script PFC Automated Testing SqlModelMapper ODBC PostgreSQL ODBC driver HTTPClient Transaction TreeView Debug TLS/SSL Azure Service REST RibbonBar Builder Graph Expression Installation License Data Git Android Menu Source Code RibbonBar PBVM UI Themes Syntax Windows 10 Icons Testing Event Handler SQL Event Handling Source Control