【问题标题】:CreateOleObject in a 64-bit Delphi program?64 位 Delphi 程序中的 CreateOleObject?
【发布时间】:2015-02-20 13:50:37
【问题描述】:

在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

【问题讨论】:

    标签: delphi ole delphi-xe7


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-02-01
      • 2011-04-08
      • 2023-03-28
      • 2011-12-25
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      相关资源
      最近更新 更多