The PowerBuilder Channel - Brought to you by Novalys

VISUAL EXPERT - A powerful tool to become familiar with a new application!

George Mikhailovsky
Professional Programmer since 1995 (Visual Basic, then PowerBuilder, now begin to use .NET), DBA (MS SQLServer, ORACLE), and Senior System Analyst. Master PowerBuilder Programmer (1999) and ORACLE 8 (2001) and 8i (2002), Certified Professional Database Administrator


More you work with the Visual Expert - more you understand how convenient it is. There are many various support software for PowerBuilder supplied as with PowerBuilder as by third-party vendors. But I cannot remember so powerful tool that allows a user to become familiar with a new application in literally in a few hours.
In my case, I started to play with Visual Expert simultaneously with switching to quite new for me application that was developed for a few years. This application was already migrated to PowerBuilder 8 and contained a few dozens libraries and a few hundreds objects. In addition, it had poor design, a lot of unused objects, a mix of object-oriented and not object-oriented approaches, and other “pleasant” features. Moreover, the developer who mostly created this application was fired a month before and was not going to cooperate in any way.

Global Overview

Based on my previous experience, it could take not less than a couple weeks to gain a preliminary notion of its general design and functionality. Using Visual Expert, I started to write codes (for some enhancements that involved a bunch of existing objects) after a day. Of course, I permanently had usual problems with relationships between objects, usage of instance variables, script in ancestor events, etc., but Visual Expert allowed me to solve them in seconds.  As a result, I developed these enhancements only twice or so slower, than usually. And this was on a second day after I opened the application at the first time! After a week, the speed of my development became almost as usual.

Easy Navigation

On the first day, during a phase of investigation of the application I found the most helpful for me the ability to look through inheritance and opening hierarchy. By the way, in first versions of PowerBuilder (at least, up to 6.5 version) you could see opening hierarchy in the Application Painter, but in PowerBuilder 8 this feature looks like is gone, and Visual Expert luckily fills out this gap. Besides that, the ability to rapidly preview any chosen window is nice and useful. The “container” link that allows immediately figure out a place of any object in the application is very convenient, too.

Powerful Impact Analysis

Then, when I began coding, Impact Analysis provided by Visual Expert became my best friend. Every time when I used or changed existing variable or object, I could almost immediately to find out all the possible impact of my changes on other objects of the application. This guaranteed me from unexpected “surprises” that can become a nightmare when you start to work with a new, complicate, and especially poorly designed application. The Impact Analysis is really something! 

Search Function

In addition, I found very useful an ability to search for some text, class, function, or property through all the application. Of course, PowerBuilder 8 has such possibility, too, but ‘Search’ screen of Visual Expert is far more convenient than ‘Output’ window of PowerBuilder 8. The main difference is that in Visual Expert you can see not only reference to line of event or function, but code itself (in the right pane of the screen) with found text highlighted. Moreover, you can save your search result as a view and continue to work with it later.

Technical Documentation

It is absolutely impossible not to say a few words on ability of Visual Expert to create technical documentation. The application that I started to work with didn’t have any technical documentation at all. When I asked my boss, if he would like to have such documentation, he told: “Certainly, this will be useful, but we do not have a time for this now.” I cannot forget an expression on his face, when after a couple hours I brought him a huge folder with the colored Project’s Logo on the cover and more than 1,000 pages of documentation inside!
Honestly, I printed out the logo by myself, but it was Visual Expert that created all the other pages. And printing took about 90% of those couple hours. It was not complete documentation – the complete one contained more than 10,000 pages, and I decided not to waste paper, especially taking into account, that Visual Expert can create documentation in HTML format that is ideal for browsing and presentations. Nonetheless, the folder that I gave to my boss (and RTF file that Visual Expert created for me) contained all the codes, general object description, and even screenshots of windows and visual user objects.
A few minutes later, when ability to speak came to my boss back, he told that will show this folder to our customer right today and will use HTML files for his presentation on a conference next week. 
But nothing is perfect, and Visual Expert has some disadvantages on my opinion.


The main one is a rather strange look of some window screenshots in the documentation. The matter of fact is that if a window is inherited from another window, its screenshot displays only the additions made in descendant and looks different than window itself in the application. In my case, ancestor had a Tab control with a few TabPages, and DataWindows on them; I added in descendant only a couple Command Buttons; as a result, the screenshot of descendant in Documentation displayed an empty rectangle with these news Command Buttons. I talked about this with Novalys representatives, and they said this is a bug that will be fixed in next release. 
Then, I couldn’t find a report on unused objects among templates for Technical Documentation. Of course, you could see unused objects under respective nodes of the main TreeView and print them out.  But ability to have a formatted report with a list of all the unused objects would be very useful.
The last and the less important things, that I would like to mention, are popup menus on the main TreeView.  The first option in these menus (that are changed depending on selected component) does the same for all the components – display the list of respective items. But its name is inconsistent – sometimes (for approximately a half of the components) it named “Content”, sometimes - by name of the component (“Window”, “Datawindow”, “Menu”, “Userobject”), sometimes – in other way (e.g., “Function List” for functions - probably because “Function” is already occupied in that menu). I think it would be better to name it “Content” for all the components.


In conclusion, I would like to highlight that Visual Expert is a very user-friendly tool as well as PowerBuilder itself. A few years ago I was Visual Basic developer. Then, I switched to PowerBuilder but have continued using Visual Basic from time to time. 
So, I can compare these enterprises. And it looks like PowerBuilder was created by your good friend while Visual Basic – by your mortal enemy. 
It is really great, that Novalys with its Visual Expert continues old good tradition of PowerBuilder.

About the Author

George Mikhailovsky

"I was born in Moscow in 1945. 
M.S. in biophysics in 1966 (Moscow State University - MSU).  Ph.D. in biophysics in 1970 (MSU). 
From 1982, I began programming my statistical ecological models and then C as well as created bases of ecological data. In 1995 moved to the United States (Virginia) where became a professional Programmer (Visual Basic, then PowerBuilder, now begin to use .NET), DBA (MS SQLServer, ORACLE), and  Senior System Analyst. 
I am Master PowerBuilder Programmer (1999) and ORACLE 8 (2001) and 8i (2002)
Certified Professional Database Administrator. 
Have a wonderful wife Alla, 4 kids, and 7 grandkids."

2017 PowerBuilder Survey

The Results of the 2017 Edition of Novalys yearly PowerBuilder Survey are available!

Read the results