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 Refactoring in not hard to do or difficult to conceive of - BUT you have to develop a sense about it. Part of wanting to refactor is professional pride. Ask yourself - If your software was a publicly visible structure such as a bridge or building, what would it look like?   Would you be will to go step on it or go inside it? Do you think that it's too late for improve your software?  Are you afraid to take a small risk? Remember that refactoring is all about taking lots of small steps that eventually add up to a big improvement. Do you sometimes get that sick feeling when you're asked to work on a particular section of code?  Ever wonder why?  Might the reason for the feeling be because the logic is "all over the place", fragile and tricky to make changes to? So wouldn't a bit of restructuring make the job more palatable? Refactoring is mostly about making... (more)

PowerBuilder .NET Migration eTutorial

Yours truly has been busy for the last few months learning the ins and outs of migrating Classic applications to .NET. Here are the links to the final versions on  The beta versions are no longer available. Part 01 Overview and Process: Part 02 Issues and Solutions: Part 03 Anchor Bay Nut Company - A Legacy Use Case Overview:  http:/... (more)

Migrating MultiThreaded Classic Apps to PB .NET

The blog is a .NET update for or all of you who are already familiar with multithreading in PowerBuilder Classic using the SharedObject API Jm recently posted this brief message in the Sybase.Public.PowerBuilder.NET news group, "When we have a multi-thread  programming in PB?? is urgent..."  To which Chris Pollach replied "We have had multi-threaded programming in PowerBuilder since Sybase introduced "SharedObjects" back in the PB version 6.0 release!   :-) Note: I am not sure how well it works under the new WPF model in PB" I decided to pull out the old trusty SharedObjec... (more)

Migrating Classic Apps That Call Custom DLLs

One difference when migrating Classic Apps between the WinForm/WebForm and WPF is how you need to handle listing referenced DLLs during the migration process.  In .NET the deployer copies referenced Non System (those not part of Windows) DLLs into the OUT folder together with the executable and other references.  The .NET project object must have a listing of required DLLs.  In Win/Web Form migration, the migration wizard has a page on which you list Referenced DLLS.  The wizard actually scans your code and lists any Non System DLLs it finds referenced in external function calls ... (more)

GIGO (Garbage in, Garbage out)

GIGO (garbage in, garbage out) "A fundamental goal of legacy Information System migration is that the new system not become a legacy system itself" These insightful words were written seventeen years ago by Michael L. Brodie and Michael Stonebraker in their 1993 study called "DARWIN: On the Incremental Migration of Legacy Information Systems". From this goal statement, which I believe is self-evident and universal, it is clear that merely operationally and mechanically pushing a legacy client/server (PowerBuilder or any other language based) system through an automated .NET mig... (more)