[英]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.