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

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 will gain a more predictable and less likely flawed result because of the code's newly attained clarity. Figure 1 shows the conceptual structure of a typical Classic application before refactoring. Note that both business logic and data access logic are embedded with GUI elements. Figure 2... (more)

PFC Project Partitioning Using a Referenced PowerBuilder Assembly Target

Paul Harvey, the great American radio personality, would always conclude his colorful broadcasts with the quip "And now you know the rest of the story." For those of you not acquainted with Paul's broadcasts, here's a sample. If you get to about 3:40 in, you'll hear the classic remark. Paraphrasing Paul's tag line, in this article you'll learn "the rest of the story" about RAD Development methodology in PowerBuilder 12.5 .NET using a Referenced PB Assembly Target. I'll explain the technique and implementation steps using the open source PEAT PFC demo application. In a previous P... (more)

Building a Snap-In App Framework Using Dynamic PowerBuilder Assemblies

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 .... (more)

Vendor Independent Data Access in EAServer 3.6.1

It's well known that Sun Microsystems' Enterprise JavaBean (EJB) specification is an industry-standard, vendor-neutral, portable architecture for middle-tier transactional components. In an industry starved for standardization, both the server vendor and the development community have embraced EJB. Sybase is a leading member of the J2EE consortium. Sybase's EAServer version 3.0 supported EJB 0.4, version 3.5 supported EJB 1.0, and the recently released J2EE-compatible EAServer version 3.6.1 supports the latest EJB 1.1 specification. The EJB 1.1 specification offers many enhanceme... (more)

Bye Bye SetRedraw( )

A common Classic PB code technique when modifying the displayed contents of window controls, is to turn off screen refresh by calling SetRedraw( false ), performing the update activity and then calling SetRedraw (true). Setredraw( ) is one of those graphic object methods that falls by the wayside when migrating to .NET.  It is no longer supported.  Is this a bad thing that will give your users a migraine headache or a non-issue? This post and the accompanying video will give you a refreshing understanding of the issue and help set your expectations when you migrate and see those ... (more)