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 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 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
PBDJ Feature Story
There's a lot of "legacy" PowerBuilder code that you might want to access
from .NET applications or perhaps PowerBuilder has some superior
functionality that you would like to make use of in a .NET application. Think
about how easy it would be to create a report in PowerBuilder with a
DataWindow. Of course, PB can provide functionality through Web Services (see
my article "Prognos with DataWindow.NET 2.0 and PowerBuilder 11 Web Services"
in PBDJ some time ago) but this has its limitations.
In the article "PowerBuilder 11's .NET Interoperability" in PBDJ, John S... (more)
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)
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)