1

コンソールで EmbeddedWB をコンパイルしようとすると、いくつかの OleCtrls ユニットについて不平を言います。それでも、通常の Web ブラウザーは問題なくコンパイルされます。

コンソールでコンパイルする方法は?

[dcc64 Fatal Error] SHDocVw_EWB.pas(66): F1026 File not found: OleCtrls.dcu'

4

1 に答える 1

2

問題はユニットスコープ名です。デフォルトでは、コンソール アプリケーションには、フォーム アプリケーションとは異なるユニット名前空間エイリアスがあります。次のいずれかで問題を解決します。

  1. 完全修飾ユニット名の使用。そのユニットの完全な名前は Vcl.OleCtrls です。
  2. 欠落しているユニット スコープ名 (この場合は Vcl) をコンソール アプリケーションのプロジェクト構成に追加します。

サード パーティのコードをコンパイルしているため、そのサード パーティのコードを変更しないことをお勧めします。したがって、オプション 2 が今後の方法です。

他のユニット スコープ名が必要な場合があります。必ずすべて追加してください。また、VCS リポジトリから取得したコンポーネントの最新のソースを使用していることを確認し、実際に XE4 をサポートしていることを再確認してください。

私の仮定では、コンソールとはコンソール アプリケーションを意味することに注意してください。実際にコマンド ライン コンパイルを意味する場合、答えは基本的に同じです。コンパイル時にユニットスコープ名が指定されていることを確認する必要があります。通常、これはプロジェクト構成で行われ、msbuild はそれらを取得して dcc32 または dcc64 に渡します。

于 2013-08-23T10:48:57.517 に答える