1

通过双击打开 dfm 文件时,出现以下错误:

Class TMyClass not found. Ignore the error and continue? Note: Ignoring the error may cause components to be deleted or property values to be lost.

当我单击取消时,我收到以下消息

Error creating form: Class TMyClass not found.

当我现在单击确定时,仅打开 pas 文件。

在 pas 文件中添加了 MyClass 单元(其中包含 TMyClass 定义),并且它的路径也添加到了我的搜索路径中(Ctrl 单击单元名称,将我带到单元文件)

一切都很好。我不知道为什么我会收到这个错误,为什么我无法在 RAD studio 中打开这个 dfm 文件?请帮忙。

4

3 回答 3

11

要创建组件(您放置在表单上),Delphi IDE 应该知道它的名称并将其类加载到内存中。这意味着 - 它应该将该组件编译到二进制运行时包中,并且应该将相应的设计时包加载到 IDE 中,并且在加载期间它应该调用RegisterComponent.

通常这一切都是在库安装期间完成的。因此,如果您有 Delphi 7 的库,现在只需为 Delphi XE4 安装它。

如果您的库没有安装程序或者该安装程序不知道 XE4,那么您必须手动注册这些组件,就像 Delphi 文档要求您那样做。这是一个多步骤的过程,所以你可能需要从头开始重新做。但是,如果运气好的话,您可能能够重用已经为 Delphi 7 完成的工作。在最好的情况下,您只需在 XE4 中重新编译运行时和设计时包,然后将这些设计时包安装到较新的 IDE 中。

于 2013-11-12T08:40:17.320 回答
0

在新版本的 Windows 10 之后,我出现了这个问题;我通过更改可执行文件的权限进行了调整。我刚刚删除了通知权限并再次添加了它;

https://support.microsoft.com/en-us/windows/change-notification-settings-in-windows-10-ddcbbcd4-0a02-f6e4-fe14-6766d850f294了解更多详情;

于 2021-05-13T21:19:19.870 回答
0

对我来说,当视觉控件在 pas 文件中声明为 TSomething 并在 DFM 文件中声明为 TSomethingElse 时,会发生此错误。

解决方案是手动编辑 DFM 文件并将控件声明设置为正确的值 (TSomething)。

于 2021-07-01T12:56:47.220 回答