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

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