0

Delphiがうまく管理できないと思うことの1つは、イメージの「ソース」ファイルとプロジェクト内のイメージコンポーネント間のリンクです(ここではD2006ですが、すべてのバージョンに適用されると想定しています)。

プロジェクトにさまざまな静止画像があるとします。背景、ツールバーボタンのグリフ、さまざまなアイキャンディーなどです。ソース、スクレイプ、または作成したPNG / BMPなどのファイルの対応するコレクションがあり、これらが読み込まれています。設計時に画像コンポーネントに挿入します。

1つの問題は、3か月後に、画像コンポーネントのロードに使用されたソース画像ファイルを自動的に検出する方法がないように思われることです。これは、1つまたは複数の画像を編集する必要がある場合にさらに問題になります。

ですから、私が本当に望んでいるのは、プロジェクトのビルドにイメージソースファイルを含める方法です。つまり、ビルドを実行すると、すべてのイメージコンポーネントが最初にソースからリロードされます。現在、PhotoShopなどで一部の画像を変更すると、変更された画像をそれぞれの画像コンテナに再読み込みするための、時間のかかるエラーが発生しやすいプロセスに直面します。

すべての画像がバインドされたリソースを作成し、起動時に画像コンポーネントをロードするコードを追加することは、実行可能な方法ですか?他の人がこの問題を抱えていますか、そしてあなたはそれをどのように管理しますか?

4

3 に答える 3

1

標準コンポーネントはどれも、あなたが求めているものをサポートしていません。ただし、ThanyのTPngImageListコンポーネントは、ユーザー定義の文字列をリスト内の各画像に関連付ける機能をサポートしています。

それ以外の場合、どのファイルがどのイメージに属しているかを知るには、.rcファイルを使用して、コンパイル時に外部イメージファイルをアプリのリソースにコンパイルし、実行時にイメージリソースをコンポーネントに動的にロードすることをお勧めします。設計時ではなく。そうすれば、画像ファイルを好きなように管理できます。ファイルを変更すると、次回のコンパイル時に自動的にアプリにリンクされます。

于 2012-07-25T21:23:35.540 に答える
1

実行時に同じイメージをロードし、これらのイメージをバージョン管理に追加して、メンテナンスを容易にすることができます。Lazarus用のコマンドラインツールもあり(Delphiでも同様のツールが見つかると思います)、アプリが後で使用できるリソースにファイルを配置できます。

于 2012-07-26T09:26:32.940 に答える
0

icoファイルから画像をロードし、画像リストに入力して、さまざまなノードの仮想文字列ツリーで使用します。icoファイルを簡単に変更できます。/ミカエル

于 2015-03-13T15:20:06.423 に答える