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

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