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

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