Welcome!

Richard (Rik) Brooks

Subscribe to Richard (Rik) Brooks: eMailAlertsEmail Alerts
Get Richard (Rik) Brooks via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Richard (Rik) Brooks

I'm considering changing my emphasis in my column. Since speaking with some people at Sybase I am convinced that PowerBuilder is poised for a mighty comeback. The fact is that still today PowerBuilder is by far the most productive development tool available. It eclipses all the rest. An experienced PowerBuilder programmer is demonstrably more productive and can finish tasks faster than C# or even VB.NET. So why is .NET used by more companies? Mine would just be a guess and in fact, the answer is irrelevant. I'm here to tell you that Sybase is making an obvious push to regain some of the ground that it lost. The programmer who positions himself as a PowerBuilder expert today will benefit tomorrow. I am going to split my writing. This month I'll do another article on the classic DataWindow. That architecture is not going away. I've discovered that many companies are ... (more)

Appeon Developer Configuration

Have you ever used a datastore that ran without a problem while you were developing your application, but once you've compiled it stopped running? Let me tell you that's a difficult bug to fix. I remember it so well. I kept going back and forth. How in the world could the DataWindow work at design time yet not in the executable? I remember that I checked the return value of the datastore. I finally noticed that the datastore returned a -1. That's such a strange thing. The datastore returns the number of rows that were returned or a -1. The help files used to say that a -1 was in ... (more)

Extending SQLCA

We are going to create a bare-bones email object. Of course you can expand that in the future if you like, but for now, let's just create the functionality that we need. I start by creating a custom class. In case you aren't familiar with the process look at Figure 1. Let's start with an instance variable. N_cst_mailer Instance Variables private mailMessage io_mail_message // The message to send I made the instance variables private so let's write a couple of functions to populate our mail Message. We'll start with the TO. Note that the io_mail_message contains an array of objec... (more)

The PostOpen Event – Why It Is So Important

Normally I try to write applications on the DataWindow or Appeon but every now and then I get a question that makes me sit back and say, "Huh?" In this case the question concerns the PostOpen event. I've seen that event named different things: ue_post_open, postOpen, post_open, ue_postOpen, etc. It has, as far as I can see, always had post and open in the name of the event. Further, just about every framework that I've ever seen has had that event in the base window. The question that I was asked was, "Why is that event there?" The programmer wanted to know why there was code in t... (more)

DataWindow Sorting with Column Headers

This article describes how to create a grid presentation window that allows sorting by clicking on the column header. To begin we need to create a grid DataWindow. I'm selecting just a few columns from the employee table. Here is my sql for the DataWindow in Figure 1. Once we have created it I get the DataWindow painter shown in Figure 2. There are several changes that we need to make. Let's change the status column so it's no longer a set of radio buttons. This is a read-only screen so let's remove the status and add a computed field. To do this let's remove the Status column ... (more)