Helping Developers Master PowerBuilder Classic and .NET

Yakov Werde

Subscribe to Yakov Werde: eMailAlertsEmail Alerts
Get Yakov Werde: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories by Yakov Werde

PBDJ Blog Post Nowadays, every platform has an xUnit based open source unit testing tool. Just today, I discovered that there is one for Adobe Flex (woops this is a PB forum!) it's called Flex Unit. Here's an article on it. There are xUnit testing frameworks for Java, C#, C++, Smalltalk and many others. Tools such as Eclipse and VS have xUnit extensions. pbUnit is our version. When you need to refactor or build business logic in PB, think TDD. TDD is a powerful methodology with a proven track record for supporing developers in delivering quality code. Let me share something personal with you, in case you feel gun shy about using pbUnit. I read most of Kent Beck's classic book on TDD in a couple of hours.  Then I knew how xUnit worked and what I was supposed to do with it. Following that, I figured out what pbUnit was supposed to do and how to use it by reading the ... (more)

Alive and Kicking Code

PBDJ Blog Post Dear Reader, I'm sorry for the delay in posting new material. I wasn't silent because of a lack of new content or a change of heart about blogging, nor a change in attitude toward PowerBuilder and Sybase technology. Rather I was / am engaged in two significant projects to the exclusion of all else. The first of these projects occupied my December.  I was taking code ownership of and actually migrating a legacy PowerBuilder 5 application to PowerBuilder 12 WPF .NET.  In addition to the actual code study and migration, I wrote a series of articles and produced a set... (more)

Building Bridges: PowerBuilder/InfoMaker Integration in the .NET Universe

There has been some talk lately about the impact of the new .NET PBL and EXE format on applications that dynamically integrate InfoMaker reports (or other external PBLs). The concern is that since PowerBuilder has gone .NET and InfoMaker remains Classic, platform differences will break the integration mechanism that ties these two products together. In this article I'll take a look at the issue, provide some background for the uninitiated and propose a mechanism to bridge the gap. For those of you not familiar with InfoMaker, it's a reporting tool featuring the DataWindow Object... (more)

PowerObjectParm and System.Object Types

I was working on a POC app that integrates a .NET assembly with a PowerBuilder 12.1 WPF app when I ran across this issue. Most anyone doing any assembly integration will discover the same thing. In order to save you some time and bother I’m writing my findings and suggesting a couple of workarounds here. Background One on the key changes to the PowerScript class hierarchy was the insertion of System.Object as the ancestor of PowerObject. Object is now the grand ancestor of all PowerScript Classes. Figure 1 shows that PowerObject now has System.Object members. In object orient... (more)

There's a Hole in the Bucket, Dear Liza, Dear Liza

Did you sing this little ditty when you were a wee laddie?  (In case you don't know the song, you can find the words and tune here ( These words came to my mind after discovering a small hole in the migration process.  Let me describe it to you. In the Classic PowerBuilder IDE, when you have classes in an inheritance relationship, the painter shows ancestor public and protected instance variable on the General tab of the descendent class.  Figure 1 shows what you might see when a Boolean ib_flag is declared in an a... (more)