Incompatibility of 32-bit and 64-bit Modules

64-bit versions of Windows operating systems can execute both 32-bit and 64-bit applications, but they cannot mix these types within a process. For example, you cannot load 32-bit DLLs into a 64-bit process, or vice versa. All executable components (EXE and DLL files) that are loaded into a process must match the binary type of the process. As much as possible, you should port in-process components for your 64-bit apps to 64-bit.

If you require a component that cannot be ported to 64-bit, you can use it only as a separate process and "thunk" to it with out-of-process calls. An example of such a component is VBA. Prior to VBA 7, Microsoft had no plans to build a 64-bit version of VBA. Therefore, an application that implemented VBA (such as AutoCAD 64-bit) could only access it as an out-of-process 32-bit component.

Note: Starting with AutoCAD 2014, VBA 6.5 was replaced by VBA 7.1 which was designed for both Windows 32- and 64-bit operating systems.