2010-12-03 69 views
0

我只是遇到了一个无处不在的问题...... DFM文件在项目编译时从Delphi读取得很好,但是当我从命令行编译时(dcc32)我得到错误Error: RLINK32: Error reading file "update.dfm" Failed readDelphi 7 RLINK32读取dfm文件时出错 - 读取失败

什么是更奇怪的另一个项目包含相同的文件构建没有错误从Delphi和dcc。

有没有人有线索可能会导致这样的事情?

我试图从另一个位置构建,仍然是一样的。

操作系统是Windows Server 2008.权限似乎是正确的。

+0

它是包含在项目中还是通过搜索路径找到的? – 2010-12-03 12:00:35

+0

我建议你检查更深入的海拔 – ComputerSaysNo 2010-12-03 12:04:29

回答

1

使用SysInternals Process Monitor,并观察它何时寻找update.dfm

您可能会看到DCC32疯狂搜索到处寻找update.dfm(除了它所在的位置)。或者它可能会找到它,但OpenFile失败并显示错误。

无论哪种方式:你会发现究竟发生了什么。

0

要尝试缩小问题的原因,请使用文本编辑器打开dfm,然后逐渐删除属性并保存,直到构建工作。这至少会表明它是否是dfm中特定组件的问题。

0

与dcc32不同的主要原因是环境选项中的库路径。当您从IDE构建时,会使用它。当你运行dcc32时,你需要指定这个。

可以通过在dcc32上设置-I和-U选项的库路径来完成此操作,也可以使用dcc32.cfg文件来保存构建的所有配置。

RLINK32可以表示重复资源,因此可以考虑重命名其中一个表单以避免冲突。说到希望图书馆路径能够解决问题。

0

我发现这个问题似乎随机随机发生,如果我改变了一点点的代码添加一个复制的组件,这次我唯一的区别是改变=<>但改变它回来工作正常,除了现在我已经改变了一些其他的事情再次发生 - 因此,我发现这一点的原因。作为一个新手,我并没有真正理解这里提到的其他一些东西,但是我只是在按下之前先建立了这个项目才发现F9似乎能够正常工作。至少现在是这样。

希望这可以帮助别人! :)

0

我看到这种情况发生时,你从一个枚举类型中删除一个值,并在dfm中使用该值。下次打开dfm时,IDE会将垃圾文本放在值的位置。德尔福2010年,如果有帮助。

我只是在文本编辑器中打开dfm并删除损坏的文本。