加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在64位Delphi程序中创建OleObject?

发布时间:2020-12-15 09:48:33 所属栏目:大数据 来源:网络整理
导读:在Delphi XE7 64位VCL程序中,单元Vcl.OleAutocannot找不到: [dcc64致命错误] Unit1.pas(33):找不到F1026文件:’Vcl.OleAuto.dcu’ 虽然它在32位程序中没有问题: uses Vcl.OleAuto;...FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
在Delphi XE7 64位VCL程序中,单元Vcl.OleAutocannot找不到:

[dcc64致命错误] Unit1.pas(33):找不到F1026文件:’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位,因为该设备已被弃用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读