Helping Developers Master PowerBuilder Classic and .NET

Yakov Werde

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

Related Topics: Enterprise Architecture, Enterprise Application Performance

Blog Post

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

A minor flaw in the WPF migration tool revealed

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 ancestor.

Figure 1: Classic IDE

If you go ahead and change the default value in the painter, the code is written into a special Type declaration section.  This code section is not directly developer accessible via a script editor.  In classic this is not an issue.  Figure 2 shows the source code

Figure 2:Code in Type Section

However, the script painter in the Visual Studio 12.x IDE, no longer shows you these inherited instance variables.  After migration to .NET 3.5 WPF the code remains in the Type declaration section, but there is not a painter interface to edit it.  Figure 3 shows the Type declaration section after migration.

Figure 3: Code in VS After Migration

A bit more concerning is the red herring that turns up when searching for the identifier.  Figure 4 shows you that the identifier if found.  However, double clicking it brings up the wrong location in the code.  The only way to edit the identifier is to Edit With à Source Code Editor.

Figure 4: VS IDE Search open wrong location

I reported this issue to engineering.  Hopefully a later build will address this shortcoming.  Meanwhile as the song goes "With what should I fix it, dear Liza, with what?  With a straw, dear Henry, dear Henry, dear Henry"

Long Live PowerBuilder

More Stories By Yakov Werde

Yakov Werde, a 25 year IT industry veteran, is a member of TeamSybase and the newly formed Sybase Customer Evangelist Team. Yakov is a recognized author, speaker and trainer who has been designing and delivering PowerBuilder, .NET, EaServer, Web App Development, and Java training for over 14 years to corporate, military and government developers. Prior to discovering his aptitude as an educator, Yakov worked as an architect, project manager and application coder in the trenches of application software development. Yakov holds a Masters in Education with a specialty in instructional design for online learning from Capella University and a BS in math and computer science from Florida International University. Yakov, managing partner of eLearnIT LLC (, authors and delivers workshops and web based eLearning tutorials to guide professional developers toward PowerBuilder Classic and .NET mastery. Follow Yakov on Twitter as @eLearnPB