3

私のプロジェクトの一部(数年前に Delphi 7 から XE2 に変換されたもの)が VCL 名前空間(コントロール、スピンなど)でユニットを見つけることができないため、ビルドに失敗している FinalBuilder 7 を使用して問題が発生しています。

Final Builder で [プロジェクト ファイルから設定を読み込む] をクリックすると、[ディレクトリ] タブで既定のフレームワークが取り出され、[なし] に設定されます。そのため、名前空間プレフィックスのリストに VCL がありません。フレームワークを VCL に変換できますが、[プロジェクト ファイルから設定を読み込む] の下の [コンパイラ] をオフにしない限り、ビルドされません。

finalbuilder を介して dcc32 が実際に何を行っているかを確認する方法がわかりません (誰かがこれを見せてくれれば、おそらく問題を修正し、複雑すぎる場合は自分の質問に答えることができます)。しかし、いずれにせよ、プロジェクト ファイルから設定を読み込む場合とそうしない場合の違いは何なのかはわかりません。

何らかのバグでない限り、フレームワークをRad Studioの元のプロジェクトに追加することでこの問題を修正することもできると思います(これが質問のタイトルが何であるかです)が、方法がわかりませんそれが行われたかどうかはわかりません。フレームワークを追加するように求められているわけではありません。最初にそうしたかどうかは覚えていません。悲しみを与えているファイルは Windows サービスです。およびコンソール アプリケーション。


構成/オプションセットと dproj ファイルを使用して、プログラマーが自分で設定したパッケージ、コンパイラ オプション、リンカー オプション、および検索パスをロードできるようにしたいと考えていますが、FinalBuilder で出力パス、条件付き定義、およびバージョン番号を管理したいと考えています。


ファローアップ

Robert Love のアドバイスに従って、私は基本構成をいじり始めました。

基本構成に VCL と VCL.samples を追加してから dproj を保存すると、FinalBuilder でコンパイルできるようになりました。これは、子構成に含まれていたものです (おそらく、それらはコンソール アプリとサービス アプリであるため、後で追加する必要があったためです)。単なる偶然かもしれません))。

この質問の要点 (既に変換されたプロジェクトに VCL フレームワークを追加すること) を理解できれば、すべてのプロジェクトでこの問題をより簡単に一様に修正できます。フレームワークの選択画面にアクセスする方法を知っている人はいますか?

4

3 に答える 3

0

残念ながら、Delphi には、アップグレードされたプロジェクトで子構成を混乱させる習慣があります。これは (サポート リクエストで) 多く見られますが、残念ながら最善の答えは、dproj ファイルを削除し、delphi に新しいファイルを作成させてから、構成を再度セットアップすることです。

最近、Finalbuilder ソースを D2010 から XE2 にアップグレードしたときに、これを行うのに 2 日間を費やしました。これは非常に退屈でした (グループで 70 プロジェクト) が、少なくとも今は適切に動作します。

于 2013-08-16T06:25:41.057 に答える
0

フレームワークを既存のプロジェクトに追加するには、FinalBuilder の [ディレクトリ] タブの [フレームワーク] オプションを使用できます。

訴える

于 2013-08-06T22:07:04.820 に答える