首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >就性能而言,Delphi COM对象中的早期绑定和后期绑定哪一个更好

就性能而言,Delphi COM对象中的早期绑定和后期绑定哪一个更好
EN

Stack Overflow用户
提问于 2013-06-30 02:15:49
回答 1查看 849关注 0票数 6

在delphi中,如果你想创建COM对象,你可以通过两种方式来实现,

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

代码语言:javascript
复制
uses
  MSScriptControl_TLB; // MS Script Control

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

或者,您可以按照以下步骤进行操作(后期绑定)

代码语言:javascript
复制
var
  obj: OleVariant;

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

就性能而言,哪一个更好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-30 02:27:14

哪一个在性能方面更好?

早期绑定比后期绑定更快。后期绑定方法分派涉及到以下内容:

从name.

  • Assembling查找入口点要传递给该方法的参数,并执行任何必要的类型输出conversions.

  • Calling function.

  • Unmarshalling
  1. 参数和返回值。

对于早期绑定调度,这些步骤中的许多步骤根本不存在。

当然,如果函数做了任何重要的事情,那么在方法分派期间的性能差异很可能是不可检测的。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17383304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档