PB IDE Limitations

The PowerBuilder IDE is only available as a 32-bit application. This IDE bitness then affects a number of things, for example how you develop, test, debug, and deploy your applications.

Database Connection

The PowerBuilder IDE can only connect to 32-bit database drivers (since it is 32-bit). A compiled 64-bit version of your application, however, will require a 64-bit database driver. Thus, it is recommended to have BOTH the 32 and 64 bit database drivers installed on your development machine. The client database driver only needs to match the bitness of your application and does not need to match the bitness of the database server itself. In other words, a 64-bit driver can connect to a 32-bit database server and vice versa.

The following is a short list of the 3 most popular database drivers you can directly download. For other database drivers, please refer to your database vendor’s website.

Developing

Application Target

There is no special PowerBuilder Target object for 64-bit applications. To build a 64-bit application, select the 64-bit option in the Project Painter’s General Tab instead of the default (32-bit). If you need to deliver both 32-bit and 64-bit versions of your application, you should use separate projects, separate folders and separate executable names for the deployed output. (read more)

External Objects and Controls

Since the IDE is 32-bit, this introduces some challenges with 64-bit external objects and controls. You can use OLE and ActiveX components in your applications, but you must use the 32-bit versions in the PowerBuilder IDE. At runtime you must have the correct 64-bit ActiveX components installed. (read more)

PowerBuilder Native Interface (PBNI)

Since PowerBuilder IDE is 32-bit, this introduces some challenges with PBNI interfacing with 64-bit. In the PowerBuilder IDE, you can only import the 32-bit PowerBuilder extensions into the PBL (using the Import PB Extension context menu) or create the PBD file from the 32-bit PBX file using the pbx2pbd210.exe tool. But for runtime, you can still package and distribute the 64-bit extension libraries with your 64-bit applications. What you need to do is compile the extension libraries to 64-bit PBX files using the Visual Studio Wizards, and make sure your 64-bit PBX files have the same name as the 32-bit files, since the application references it by file name. (read more)

Testing & Debugging

Since the PowerBuilder IDE is 32-bit, to test the 64-bit features of your application you must compile it as a 64-bit executable and run the resulting executable. Running the application within the PowerBuilder IDE will run the project as a 32-bit application. But you can still compile and distribute your application as native 64-bit. (read more)

The debugger in the PowerBuilder IDE is only able to debug the 32-bit version of your application. A 64-bit debugger is tentatively planned for PowerBuilder 2022. So for the time being, if you have a 64-bit specific bug that cannot be reproduced in 32-bit, you will have to use more rudimentary troubleshooting techniques, such as the infamous "message box".

Deployment

During the deployment process, PowerBuilder checks and reports key unsupported features used in the application. However, the PowerBuilder IDE does NOT identify every single possible issue that must be addressed for successful migration. So it is vital to not solely rely on this report. (read more)