繁体   English   中英

在64位Delphi程序中创建OleObject?

[英]CreateOleObject in a 64-bit Delphi program?

在Delphi XE7 64位 VCL程序中,找不到单元Vcl.OleAuto

[dcc64 Fatal Error] Unit1.pas(33): F1026 File not found: 'Vcl.OleAuto.dcu'

虽然它在32位程序中没有问题:

uses
  Vcl.OleAuto;
...
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');

那么如何在64位程序中使用CreateOleObject呢?

尽管仍提供Vcl.OleAuto的源代码,但64位lib目录不包含Vcl.OleAuto.dcu 相反,您应该使用System.Win.ComObj和/或System.Win.ComServ 请注意, Vcl.OleAuto的源将该单元标记为已弃用,并告诉您要使用的内容。

如果我们查看Vcl.OleAuto的源代码,我们可以找到一些尚未移植的32位asm代码。 据推测,Embarcadero决定不将此端口移植到64位,因为该设备已被弃用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM