Helping Developers Master PowerBuilder Classic and .NET

Yakov Werde

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

Top Stories by Yakov Werde

The articles in this two-part series examine and contrast PowerBuilder .NET 12.5.1's new dynamic assembly feature with corresponding dynamic library functionality in PowerBuilder Classic. The discourse is presented in the context of a simplified yet practical use case. The first article presents the use case, reviews pertinent PowerBuilder Classic dynamic APIs, and presents a Classic PBD implementation. The second article introduces PowerBuilder .NET 12.5.1's Dynamic Assembly feature, reveals relevant PowerBuilder .NET generated assembly internals, and presents a PowerBuilder .NET use case implementation. Introduction Say you were on a programming team designing a PowerBuilder .NET WPF based system that included this requirement: The application must be extensible through third-party add-ons . How would you go about: (1) Designing a third-party component API to suppor... (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)

Refactoring Corner: Partitioning DataWindow Technology

One of the main goals of PowerBuilder Classic application refactoring is to divide the code into logical partitions. Although you will likely not gain significant performance increases in exchange for your efforts, you will achieve two other highly significant gains. First, your logic will gain interoperability; you will have the ability to share application business and data logic with other applications developed in other .NET languages. (I say ability because you still need to make your method interfaces Common Type System compliant.) Second, your code maintenance activities w... (more)

Writing to the Console in PowerBuilder 12.5 .NET

Yesterday I taught an intro to PowerBuilder .NET 12.5 session.  Part of the presentation had me comparing the.NET IL code inside an assemblies generated from code written in C# and PowerBuilder. The C# code, after performing a simple arithmetic calculation echoed results to the console using these two lines of code namespace CalculatorExample { class Program { static void Main( )   { Calc c = new Calc( );  //create the object int ans = c.Add( 10, 84); //call the method System.Console.WriteLine("10 + 84 is {0}." , ans); System.Console.ReadLine( ) ;    } } class Calc {   //define a wrapp... (more)