PowerBuilder Tips, Tricks, and Techniques

Arthur Hefti

Subscribe to Arthur Hefti: eMailAlertsEmail Alerts
Get Arthur Hefti: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Arthur Hefti

In the first article we presented a some theories about the ClassDefinition object and were able to show the libraries of a PB application in a treeview control. This month we'll read the objects from the libraries and inspect their content. When a user expands an entry in the treeview, we check to see if it was expanded once already. If it was, we don't take any action. We code this in the itemexpanding event of the treeview control, where we get the clicked treeviewitem by calling This.GetItem. If it wasn't expanded already, we check to see if the level of the treeviewitem is equal to two, which means we're expanding a library name. We could create an NVO to include all the logic for parsing, but for demonstration purposes, I want to keep things simple. We define all the functions we need on the window itself, but use arguments to refer to the controls. This wil... (more)

The ClassDefinition Object

The ClassDefinition object was introduced in PowerBuilder 6.0 a long time ago. It allows you to retrieve information for an object at runtime. Most of us didn't pay too much attention to this object and it only attracts our attention when we see it in the debugger. In this article I provide an overview of the ClassDefinition object and related objects and explain the most important properties of these objects. I also include a step-by-step guide on how to build a simple object browser. This browser has a limited functionality like the browser included in the PowerBuilder runtime... (more)

Prognos with DataWindow.NET 2.0 and PowerBuilder 11 Web Services

Prognos is an application used over the Internet to determine if it makes sense to apply for a scholarship. It's part of a program package used in a couple of cantons (the equivalent of a state in the U.S.) in Switzerland to manage applications for a scholarship. The current version runs with DataWindow.NET 2.0 and uses PowerBuilder 11 Web Services. To keep the installation slim it uses no database; instead the data is stored in DataWindows or XML files. Prognos makes use of AJAX techniques and accesses .NET classes from PowerBuilder for XML handling. Since it's used in Switzerl... (more)

PowerBuilder .NET Web Services with Various Front Ends

Last year I wrote an article in PBDJ describing an ASP.NET project that was done with DataWindow.NET in the browser ("Prognos" Volume 14, Issue 4) and PowerBuilder Web Services in the back end. The front end consisted of an intro page, two data entry pages, and one page with the result. The front end was rewritten in a couple of other technologies to test different ways to create browser-based applications. This article covers solutions that run in different browsers and on different operation systems. I will also look at PowerBuilder 11.2 Webform although it is IE-only. At the ... (more)

The New Generation of Decompilers

The latest development technologies rely on intermediate languages and can be decompiled. PowerBuilder is no exception. In this article, we will address the risks posed by decompilers. We will also discuss what can be done to protect against the possible negative results of decompilation - whether you create in-house applications, commercial applications, or are using these applications for your business. A PowerBuilder Decompiler? A decompiler is a program that reads executable code and decompiles it, providing access to source code. It has nothing to do with viruses or other f... (more)