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

PBDJ Blog on Ulitzer PowerBuilder Developer's Journal - The crux of Test Driven Development and refactoring is writing assertions to test your code.   So what's an assertion?  The dictionary says that an assertion is "a positive statement or declaration."  According to the computing dictionary (this is definition you're looking for) it's "An expression which, if false, indicates an error."  In unit testing you are formulating assertions to catch not supposed to happen coding errors.  So you write the assertion first in a test - then you write simple code in the method under test to make the test pass.  Then you write more complex code and test again and around you go etc. etc. until your logic is complete and the test still passes.  Now you have confidence that your method really works! OK.  Now the catch - What about when you want to write a test that is expect... (more)

A Snap-In App Framework Using Dynamic PowerBuilder Assemblies (Part 2)

This two-part series examines and contrasts 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. Part 1 presented the use case, reviewed pertinent PowerBuilder Classic dynamic APIs and presented a Classic PBD implementation. Part 2 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. Along th... (more)

PB .NET Migration Assistant

PBDJ Blog Post PowerBuilder Developer's Journal - It started off by me wondering, why is there is no version 12 .NET migration assistant like the one in previous versions?  Then it dawned on me. The migration process is its own assistant! Here's what I mean.  The version 12 .NET migration process is significantly different than any migration that came before it.  For the first time in history migration is non-volatile; the original PBLs remain intact and are untouched by the migration process!  Plus, migration creates a new target and source directories and emits migrated source ... (more)

Links to My *Free* .NET eLearning Content on Sybase.com

Greetings to all! Here's a list of  URLs to the free PowerBuilder .NET rich media training content I have created for Sybase to date: .NET Language Features:   http://video.sybase.com/products/powerbuilder/powerscript-dot-net-tutorial/player.html Windows Communication Foundation: http://video.sybase.com/products/powerbuilder/wcf-tutorial/player.html Refactoring Classic Applications:  Introduction to Unit Testing Methodology: http://video.sybase.com/products/powerbuilder/future-proofing-pb/player.html WPF Stock Trader Reference Application Story; Four Platform Deploys, One code base,... (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)