About XE2, the only possible new feature is 64 bit.
But from the point of view of COM, this can be important for the COM object to be implemented or called in either 32-bit or 64-bit code.
COM object types are registered through registry keys. This is what the regasm.exe utility does (writes to the registry). The 32-bit registry bits are nodes and are distinctly different from the 64-bit registry nodes.
For example, if your COM object is compiled as 32 bits, it must be registered in the 32-bit registry or the 64-bit registry (via reagasm calls)
But if you stick with the 32-bit Delphi application, you will not have any additional problem if you specify COM packaging for export to 32 bits. In short, XE2 behaves exactly like any previous version of Delphi when creating 32-bit processes.
See http://www.gfi.com/blog/32bit-object-64bit-environment for more information.
Another solution could be to start a COM object from the process: in this case, the bit version does not matter, and you should not have problems with 32 or 64 bits.
Remember that there was a very unpleasant mistake in XE2 : in a word, in some cases access to COM access was violated. Looks like the latest “Pack 2 Update” resolved the issue.
Of course, if you use the cross-platform features of Delphi XE2, your COM object will not be available on Mac OS X .;)
source share