Welcome!

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

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 oriented terms this inheritance change means two things. (1) A PowerObject IS A System.Object, (2) A System.Object IS NOT a PowerObject This code is valid PowerObject Lpo System.Object Lso Lpo = CREATE PowerObject Lso = Lpo But this code is NOT valid PowerObject Lpo System.Object... (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)

Some Old Things Do Change

Not sure when this sneaked in... I was working on some new DataWindow object courseware with version 12.1 last week when I stumbled onto this little change.  For those of you with a penchant for using the Messagebox function for debugging, you might find this interesting Used to be that this line of code (or any other .object property expression) would give you a compiler error Messagebox(dw1.object.id.name, dw1.object.id.tag) You'd get the same error if you used the DWO reference in a datawindow event. Messagebox was expecting two strings and although both the Name and the Tag ... (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)

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)