COM对象与自动化对象

COM对象与自动化对象,com,automation,activex,Com,Automation,Activex,我正在DelphiXe2中创建一个COM对象。我正在尝试使用safecall创建方法,但默认为stdcall 当我使用自动化对象时,可以使用safecall 对于性能问题,我使用COM对象。可以使用safecall吗 谢谢是的,您可以使用safecall约定。 safecall和stdcall之间的唯一区别在于safecall适用于异常驱动流。也就是说,如果您的Delphi函数是safecall,它可能会引发异常,该异常将在内部捕获并转换为正确的HRESULT 顺便说一句,COM对象与自动化对象

我正在DelphiXe2中创建一个COM对象。我正在尝试使用safecall创建方法,但默认为stdcall

当我使用自动化对象时,可以使用safecall

对于性能问题,我使用COM对象。可以使用safecall吗


谢谢

是的,您可以使用
safecall
约定。
safecall
stdcall
之间的唯一区别在于
safecall
适用于异常驱动流。也就是说,如果您的Delphi函数是
safecall
,它可能会引发异常,该异常将在内部捕获并转换为正确的HRESULT


顺便说一句,COM对象与自动化对象相比没有性能优势:尽管自动化对象通过接口支持较慢的“”,但其客户端不必使用它。能够使用“早期绑定”的客户端也可以将其用于自动化对象。

@PedroMagalhaes这正是我在本线程中所寻找的。我不确定什么是“自动化对象”。