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

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