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

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