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 Switzerland (which has four official languages: German, French, Italian,
and Romansh) it's multilingual.
We developed the first version of Prognos with DataWindow.NET 1.5 using
ASP.NET with C#. Our partner company implemented the calculation for a
possible scholarship in a PowerBuilde... (more)
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
Keeping information away from curious eyes is a challenging task. For
example, you might need to encrypt data before sending it over the Internet.
Or you might be storing some information in a database that not even an
administrator is allowed to see. This article provides a brief overview of
encryption techniques and shows how to do encryption in PowerBuilder.
Encryption goes as far back as ancient Egypt. In 1900 B.C. the Egyptians used
a derivation of standard hieroglyphics to make a message more difficult to
read. The art of hiding messages improved over the centu... (more)
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
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... (more)
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)