当前位置:  开发笔记 > 数据库 > 正文

Delphi"EClassNotFound"错误,并损坏了DFM的可能性

如何解决《Delphi"EClassNotFound"错误,并损坏了DFM的可能性》经验,为你挑选了1个好方法。

我在Delphi 2007项目中得到了一组级联的"EClassNotFound"错误.似乎并不是由于缺少Name属性值而导致的情况,并且虽然在初始化部分中添加RegisterClass(XXX)会修复手边的EClassNotFound错误,但另一个看似无限期地跟随它.

我终于在文本编辑器中打开了DFM文件,它看起来很可能已损坏(表单元素名称中有很多非ASCII字符,而且与我以前在DFM文件中看到的相比,看起来非常"非结构化" ).(我会在这里张贴相同的但不确定没关系,非aSCII,所以会推迟).

表单加载很好,似乎编译/语法检查也好,但一旦我运行它,麻烦.

回到SVN的早期版本,看起来它已经处于这种状态一段时间了,这让我觉得A)DFM文件不是我的问题,或者B)Delphi表格流是一个很大的错误 - 容忍/健全(奖金问题:这是什么?).

如果DFM文件出现问题并且已损坏,则回滚将必须回滚,这将是昂贵的.鉴于IDE仍然可以加载它,是否有任何可以清理文件的实用程序?

或者,我是否完全偏离DFM作为主要嫌疑人?

感谢大家的投入.忘了带有DFM文件的二进制/文本选项,这很有帮助.看起来DFM本身没有损坏.

仍然有EClassError问题.re:它缺少属性值,或者引用不存在的属性等,还有一个问题:该类是否给出了错误(当前TnxSqlUpdateObject,但如果经验到目前为止,可能更多等待)通常/总是真正的"罪魁祸首"类/对象?

例如,现在我的主窗体有四个引用TnxSqlUpdateObject,w /那些实际上放在窗体上.如果我将RegisterClass(TnxSqlUpdateObject)放在初始化部分中,它对于该EClassNotFound错误运行正常,但随后继续执行下一个错误(在本例中为TStringField).

在这种情况下,我重新安装了NexusDB组件,并使用我认为可能存在问题的一些组件构建了一个新项目.它编译并运行良好,直到我从我的真实项目中添加了另一个表单(反过来,不幸地引用了很多其他表单).

那么,听起来我真正的问题是如何有条不紊地诊断和修复任何和所有EClassNotFound错误?



1> mj2008..:

如果组件在表单上,​​但在源文件中的表单定义中没有条目,则会出现此错误.大多数情况下,当我从另一个表单复制和粘贴时.最简单的解决方案是选择组件,将其剪切,然后将其粘贴回来.保存时,组件的单元将被添加到源中,当您再次运行它时,一切都会好的.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有