打开dfm文件时出错 - 找不到类xxxx

时间:2013-11-12 08:07:16

标签: delphi vcl delphi-xe4

通过双击打开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.

当我现在点击OK时,只打开pas文件。

在pas文件中添加MyClass单位(其中包含TMyClass定义),并且其路径也会添加到我的搜索路径中(按住Ctrl键点击单位名称,将我带到单位文件)

就我而言,一切都很好。我不知道为什么我收到此错误,为什么我无法在RAD工作室中打开此dfm文件?请帮忙。

3 个答案:

答案 0 :(得分:10)

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

通常这一切都是在库安装过程中完成的。因此,如果你有Delphi 7的库,现在也可以为Delphi XE4安装它。

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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