Welcome!

Hoyt Nelson

Subscribe to Hoyt Nelson: eMailAlertsEmail Alerts
Get Hoyt Nelson via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Hoyt Nelson

What's the word for a set of objects: DataWindows, DataStores, or DataWindowChilds? If there is a word, I don't know it. Objects don't have any relationship in the PowerBuilder object hierarchy, so that doesn't help.Let's call them DataObjects...oops, that's taken! Lacking any other word, let's stipulate that the term DataWidgets refers to these various DataWindow-ish types. Many native PB functions work for all kinds of DataWidgets. SetItem() applies to DataWindows, DataWindowChilds, and DataStores, for example; so do the GetItemX() functions, such as GetItemString() and GetItemNumber(). It's nice that these functions operate identically for all DataWidget types. If I know how to call SelectRow() for one, I can call it for the others. Which brings up the problem addres... (more)

Overriding the PowerBuilder MessageBox() Function

A typical PowerBuilder application has a few zillion MessageBox() calls. This article explains how you can roll your own MessageBox() function, replacing the native PowerBuilder MB() function with your code. Why would you want to write your own MB() function? The general reason is to give you a "hook" where you can write code to modify the native Windows MB() behavior. Let's face it, the ... (more)

Fixing Ugly Grid Borders

It's an aesthetic thing. When you click on a grid DataWindow label and change an attribute, it acquires what are formally termed UGBs - Ugly Grid Borders. They appear between the labels in the grid header. The vertical lines are thin or thick. Inconsistency! Thick borders! Yuck! Figure 1 illustrates the problem. There are thick borders between the Nickname and Last Name labels and between... (more)

PBSearch v3.1 by TopWiz Software

Roland Smith's PBSearch utility is the tool to turn to when you need to find a string in your PowerBuilder application. For example, if you have an error message from a bug report, it takes PBSearch only a few seconds to find all the instances of that message. Similarly, if you want to see usage examples for a given function, PBSearch will quickly find and show you the places where that ... (more)

Using Overloaded Functions to Determine Object Types

Overloading allows two or more functions to have the same name and return type, if their signature is different. The function signature is defined by its number and types of arguments. When you call an overloaded function, PowerBuilder decides which version of the function to call based on the function signature. This can be exploited to determine an object's type at runtime. This articl... (more)