0

どこからともなく発生した問題に遭遇しました...プロジェクトのビルド時にDFMファイルがDelphiから正常に読み取られますが、コマンドライン(dcc32)からビルドするとエラーが発生しますError: RLINK32: Error reading file "update.dfm" Failed read

さらに奇妙なのは、同じファイルを含む別のプロジェクトが、Delphi と dcc の両方からエラーなしでビルドされることです。

誰かがこのようなことを引き起こす原因の手がかりを持っていますか?

別の場所からビルドしようとしましたが、それでも同じです。

オペレーティング システムは Windows Server 2008 です。アクセス許可は正しいようです。

4

5 に答える 5

1

SysInternals Process Monitorを使用して、いつ検索されるかを監視しupdate.dfmます。

おそらく、DCC32 が必死にあらゆる場所を探しているのを目にするでしょうupdate.dfm(それがある場所を除く)。あるいは、それを見つけてもOpenFileエラーで失敗するかもしれません。

いずれにせよ、正確に何が起こっているかがわかります。

于 2010-12-07T18:18:22.123 に答える
0

これは、列挙型から値を削除し、その値がdfmで使用されていたときに発生することを確認しました。次にdfmを開いたときに、IDEは値があった場所にガベージテキストを配置します。それが役立つ場合はDelphi2010。

テキストエディタでdfmを開き、破損したテキストを削除します。

于 2012-01-31T18:57:38.653 に答える
0

dcc32 との主な違いは、環境オプションのライブラリ パスです。IDE からビルドする場合、これが使用されます。dcc32 を実行するときは、これを指定する必要があります。

これを行うには、dcc32 で -I および -U オプションのライブラリ パスを設定するか、dcc32.cfg ファイルを使用してビルドのすべての構成を保持します。

RLINK32 は重複リソースを意味する可能性があるため、衝突を避けるためにいずれかのフォームの名前を変更することを検討してください。うまくいけば、ライブラリパスが問題を解決するはずです。

于 2010-12-07T17:15:15.727 に答える
0

問題の原因を絞り込むには、テキスト エディターで dfm を開き、プロパティを徐々に削除して、ビルドが機能するまで保存します。それは少なくとも、dfm の特定のコンポーネントに問題があるかどうかを示します。

于 2010-12-03T22:30:06.547 に答える
0

=コピーしたコンポーネントを追加するコードを少し変更すると、時々ランダムに発生するように見える同じ問題が発生した後にこれを見つけました<>。私はそれが再び起こっている何かを変更しました-それが私がこれを見つけた理由です. かなり初心者なので、ここで言及されている他のビットのいくつかを本当に理解していませんでしたが、プレスF9が機能するように見える前に最初にプロジェクトをビルドすることで見つけました..少なくとも今のところ.

これが誰かを助けることを願っています! :)

于 2012-01-31T17:33:57.913 に答える