When you are experiencing behaviour that defies logic, or that no one else seems to be experiencing, you may have a configuration problem. If PowerBuilder is picking up DLLs from more than one minor version or build of the same major version of PowerBuilder, then erratic behaviour is guaranteed. This is true both in the PowerBuilder IDE and with compiled PowerBuilder executables. The build that the compiled PowerBuilder generated executable was built with also has to match the build of all the PowerBuilder DLLs loaded.
The best way of identifying if a configuration problem exists in your situation is to use a free tool from SysInternals, called Process Explorer. Looking at the PowerBuilder generated application or IDE executable, and viewing the DLLs it loads, you will be able to see the version of the DLLs, and the path where these DLLs were loaded from. When looking at the PowerBuilder IDE, keep in mind that the PBXX.EXE, where XX is the version number, is a simple bootstrap application, and sometimes the EXE isn’t updated with a maintenance release, so it’s build number may not match.
The typical reason this happens is when PowerBuilder application installations load PowerBuilder DLLs into a directory on the standard path, usually the Windows’ system directory. This is a practice that Microsoft discourages in favour of using application-specific paths, or App Paths. An application-specific path allows applications that use the PowerBuilder DLLs (including the PowerBuilder IDE itself) to upgrade DLL versions independently, without conflicting with each other.
In a worse case scenario, even if you can’t specifically identify a problem with the above method, an uninstall and reinstall of PowerBuilder may resolve some issues. After uninstalling, a search of the system for all PB*.DLL is often beneficial, to make sure that everything is gone. Remember that, when installing, you need to follow the sequence:
- Major revision (e.g. PB8)
- Maintenance release (e.g. 8.0.2)
- EBF (Emergency Bug Fix) release
You don’t have to complete this list, but you can’t skip a step. For example, you can only install a major and maintenance release, but you can’t install a major release and EBF and skip a maintenance release. The only exception to this rule is when an EBF is intended to be applied directly to a major revision, because it precedes the release of any maintenance release. Read carefully the release notes of any EBF, especially any prerequisites for installation.
Before raising an issue with Sybase, you’ll want to be sure that the issue is Sybase’s, and not someone else’s. The DataWindow, even while just displaying data on the screen, makes heavy use of the current printer driver. The DataWindow pushes the printer driver’s envelope much more heavily than most other standard applications, so the fact that other applications can print shouldn’t be considered sufficient evidence that you should have confidence in your printer driver. The printer driver may have a fault in one of its more advanced features. Try more than one version of your driver, including the latest.
It happens less often now than it used to, but other drivers, like display and network drivers, can be issues.