Upgrading from a 32-bit to a 64-bit Release
OpenROAD image files created by the makeimage utility are platform independent.
Nonetheless, while migrating OpenROAD applications from 32-bit to 64-bit, you should consider the following changes that might be required, as a 64-bit OpenROAD process (w4glrun, w4gldev, oraso) cannot use any 32-bit libraries or components:
• Libraries (DLLs) exporting functions used as 3GL procedures in OpenROAD must be 64-bit binaries.
When using functions from Windows API libraries (for example, user32.dll, kernel32.dll) without an explicit path specified in the "Library" setting of the 3GL procedure definition, a call will implicitly open the 64-bit version of the DLLs.
• Libraries or executables (DLLs, OCXs, EXEs) used as External Class Library in OpenROAD must be 64-bit binaries.
Libraries should be registered using the 64-bit version of regsvr32.exe (the one located in %SystemRoot%\system32).
• The data type of parameters and return values of 3GL procedures and methods of external classes might need to be changed. For example, if you passed or returned a HANDLE or pointer as INTEGER, you must use INTEGER8 in the 64-bit version.
Because 32-bit processes cannot use 64-bit OpenROAD libraries, any external application using (directly or indirectly) the libraries provided to access the OpenROAD Server (orrso.dll, orps.dll) from different interfaces (COM, Java, .NET) wrapping these libraries must also be run as 64-bit application:
• COM client (using classes of the OpenROAD Remote Server Type Library):
Rebuild your client as 64-bit or use a 64-bit version of the program using the OpenROAD classes. This could be a scripting engine (wscript.exe, cscript.exe) or another application acting as COM client (for example Microsoft Excel using VBA).
• Java (using openroad.jar): Use a 64-bit JVM (java.exe).
• .NET (using assemblies Ca.OpenROAD.dll and Ca.OpenROAD.Orrsolib.dll):
Rebuild your executable with a 64-bit target platform (or platform independent, so it runs as 64-bit on a 64-bit Windows system) or use them from a 64-bit application (for example, an IIS web server).
Last modified date: 12/20/2023