哪一个在Delphi COM对象的性能,早期绑定或后期绑定方面更好

前端之家收集整理的这篇文章主要介绍了哪一个在Delphi COM对象的性能,早期绑定或后期绑定方面更好前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在delphi中,如果要创建COM对象,可以通过两种方式完成,

第一个是早期绑定,例如,

uses
  MSScriptControl_TLB; // MS Script Control

var
  obj: IScriptControl;
begin
  obj := CreateOleObject('ScriptControl') as IScriptControl;
  .. 
  ..
  obj.ExecuteStatement('MsgBox 1') 
end;

或者,你可以这样做(后期绑定)

var
  obj: OleVariant;

begin
  obj := CreateOleObject('ScriptControl') ;
  obj.ExecuteStatement('MsgBox 1');
end;

哪一个在性能方面更好?

解决方法

Which one is better in terms of performance?

早期约束比后期快.后期绑定方法调度涉及以下内容

>从名称中查找入口点.
>组装要传递给方法的参数,并执行任何必要的类型转换.
>调用功能.
>解组任何输出参数和返回值.

许多这些步骤根本不存在于早期绑定派遣中.

当然,如果函数完全执行任何重要操作,则在方法分派期间可能无法检测到性能不同.

猜你在找的Delphi相关文章