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

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)

RESTful Web Services: A Quick-Start How-to Guide - Part 1

Among PowerBuilder 12.5 .NET's new features comes the ability to use WCF to call RESTful web services. This article, the first in a two-part series, provides a PowerBuilder 12.5 .NET developer with the foundational knowledge and skills to rapidly get up and running building PowerBuilder RESTful Web Service clients. Along the way I'll share with you a few tips and workarounds. Introduction PowerBuilder 12.0 .NET provided the ability to call SOAP-based web services using Microsoft's .NET 3.5 WCF API. I encourage those of you not familiar with WCF and SOAP to view my PowerBuilder W... (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)

Merging Newer Technology into an Existing Code Line

If you don't know the words to this classic folk song, here they are: Oh, the old gray mare, she ain't what she used to be, Ain't what she used to be, ain't what she used to be. The old gray mare, she ain't what she used to be, Many long years ago. I can't count how many times I heard this song's melody in the background of an animated cartoon. Usually it was played at a slow pace in an exaggerated manner to accompany a worn-out character trudging along, apparently bogged down by some trouble or other. (If you listened to different melodies as a kid, check it out here http://fr... (more)

Bound and Tied: What Is Data Binding?

In this article we'll explore basic aspects of data binding, one of WPF's core features. XAML data binding is a codeless (declarative) way of transferring information from one object to another. It's very helpful in a UI where data originating in one object controls a characteristic of (or is the source of data displayed in) another object. Data binding's main benefit is to greatly reduce (if not eliminate) the number of lines of procedural code you have to write in code behind class event handlers. Taken to its full extent, it's possible for a designer (a non-programmer) to def... (more)