鉴于她的Graphics.dcu问题,我也遇到了这个问题。我的单位语句是这样的
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Math,
但我有一个不同的问题。使用 VCL 框架我没有问题,故障仅在将 Firemonkey 框架与我的单元一起使用时发生。
操作系统 = 赢 7 教授德尔福 XE2 更新 4
几件事:
- 虽然相似,但FireMonkey单位名称并不盲目地遵循VCL名称。为了获得额外的乐趣,他们还可以从版本更改为版本!FireMonkey的核心单元是
FMX.Types
(所有版本),FMX.Controls
(XE4+,尽管它以前存在),FMX.Forms
(所有版本)和FMX.Graphics
(XE5+)。 - 在引用FireMonkey单元时,您应该始终包含单元范围,因此它
FMX.Forms
而不仅仅是Forms
。 - 您引用的 uses 子句似乎只是在 Delphi 的早期版本中添加到新表单单元的默认 use 子句,加上
Math
(缺少Variants
表明 D6 之前!在实践中,最好只使用您实际使用符号的单位。特别是,如果你真的依赖于Windows
和Messages
,那么你在与FMX交叉编译代码时会遇到问题(FMX控件通常没有HWND
,FMXTForm
不支持VCL变体漂亮的消息处理语法)。