If you use external objects or controls in your 64-bit applications, you must have installed and selected the objects and controls with the correct bitness.
-
RichTextEdit (read more)
Select the Built-in TX Text Control ActiveX (32-bit and 64-bit) which is used as the rich text editor for both 32-bit and 64-bit applications; otherwise, the obsolete Microsoft RichEdit Control will be used as the 64-bit rich text editor, which is very different from the 32-bit TX TextControl.
The built-in TX Text Control ActiveX is also used to support RichText-based DataWindows.
To select Built-in TX Text Control ActiveX, follow the instructions here.
-
External (OLE's, OCX, WinAPI, etc...) (read more)
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 ActveX components installed.
-
PBNI (read more)
You can use PBNI in your applications, but you must use the 32-bit extensions in the PowerBuilder IDE. At runtime you must have the correct 64-bit extensions installed. The file names of your 64-bit extension should match the 32-bit file names, since the application references it by file name.
-
MAPI (read more)
PowerBuilder supports MAPI (messaging application program interface), so you can enable your applications to send and receive messages using any MAPI-compliant electronic mail system. However, you need to keep in mind the following considerations when using MAPI with a deployed 64-bit application: 64-bit PowerBuilder mail applications can only work with 64-bit Windows MAPI. 32-bit PowerBuilder applications can only work with 32-bit Windows MAPI. (read more)
-
Environment Object (read more)
The Environment object is a system structure used to hold information about the computing platform the PowerBuilder application is running on. You populate the Environment object using the GetEnvironment function. (read more)
This feature becomes very useful when deploying, running and testing applications compiled as 64-bit because you can determine the bitness of your application using the ProcessBitness property. (read more)
-
PFC
If you are using the PFC framework (in part or whole) then you need to make sure you are using the latest version. The PFC framework should only require a few Window API calls to be modified in order to work properly in a 64-bit environment. The following are the particular API calls that PFC makes, and the only real difference is that you need to change the value of the size of structures attribute passed in on the call.
-
ToolTipMsg: for ToolInfo.cbSize pass 64 value for 64-bit and 40 value for 32-bit.
-
TrackMouseEvent: for TraceMouseEvent.cbSize pass 24 value for 64-bit and 16 value for 32-bit.
-
ShellExecuteEx: for ShellExecuteInfo.cbSize pass 112 value for 64-bit and 60 value for 32-bit.
-