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

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