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

Migration Roundtable

Detecting unsupported custom mapped events

I taught a full day .NET seminar to an ISUG group in Minneapolis today. 19 developers attended. During the migration unit I demo'd and showed how mapped custom events, not on the control supported list, are migrated BUT, during compile, do not generate a warning. Even worse at runtime they are never invoked. The implication is that important GUI code is migrated but will never be invoked! I pointed out to the seminar attendees, that this is a potentially big hole in the migration/build process. I also mentioned that the only way I know of to detect non-functioning mapped events was through thorough your code testing. Of course, those who read the documentation before migrating will have a heads up. The online book "PowerBuilder .NET Features Guide", chapter titled "Scripts and Code Fundamentals", section titled "Supported Custom Events" documents has a table listing PowerBuilder event IDs for custom events supported in PowerBuilder. Even so, you need a way of detecting these custom mapped events in your code

One of the developers in the room suggested searching the target for pbm_. After all, event IDs would not be in the source code unless they were explicitly mapped onto.

Figure 1 shows what I did:

searching for pbm_

Figure 2 shows the result:

Classic Search Result

Figure 3 shows the same result in the .NET IDE:

>NET Result

What’s left to be done is to compare the results list against the supported event list in the PowerBuilder documentation and address only the no longer supported events, discovering the import of not having them and finding XAML equivalents.

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