4

他の人がどのようにコンポーネントを作成し、テストしているのか知りたいですか?

私のやり方は時間がかかりすぎているように見えるので、誰かが私が見落としている可能性のある明らかなことを指摘してくれることを願っています。 .

これは、現在のコンポーネントの 1 つで行っていることと同じです (パッケージはプロジェクトとして開かれ、コンポーネントは IDE に既にインストールされています)。

  1. コンポーネント コードを変更します。
  2. Shift+F9 でビルドします。
  3. コンポーネントに新しい公開プロパティを追加する場合、コンポーネントを再度アンインストール/再インストールします。
  4. 新しいフォームを追加します。
  5. 最近作成したコンポーネントをフォームにドロップします。
  6. 設計時に、プロパティを正しく変更できるかどうか、およびコントロールが正しく描画されているかどうかを確認します (また、新しく公開されたプロパティがオブジェクト インスペクターに表示されるかどうかも確認します)。コンポーネントにエラーがないかどうかも確認してください。
  7. 設計時に問題がないようであれば、パッケージを保存して閉じ、新しいアプリケーションを作成します。
  8. 次に、コンポーネントを新しいアプリケーション プロジェクトの新しいフォームに再度追加して実行し、実行時の動作を確認します。
  9. パッケージを再度開かなくても、コンポーネントに対するいくつかの変更を変更できます。つまり、コンポーネントのペイント プロシージャの場合は、コンポーネントのソース ユニットを開いて変更し、アプリケーションを再実行して変更を確認できます。
  10. 他の変更があれば、通常はプロジェクト全体をもう一度閉じて、パッケージを再度開き、上記のすべての手順を繰り返す必要があります。

私は常にコンポーネント パッケージと新しいアプリケーション プロジェクトを切り替えて変更を加えています。これを行うにはもっと効率的な方法が必要であり、きっとあるはずですが、それがわかりません!

可能であれば、多くの時間を節約し、上記の手順のほとんどを省略できる人への回答を受け入れます:)

4

2 に答える 2

4

4.からの手順を複数回実行する必要があるのはなぜですか。

私は通常、プログラムグループを作成し、それに以下を追加します。

  • すべてのランタイムユニットを含むランタイムパッケージ。
  • コンポーネントをインストールし、任意のデザインタイムエディタを実装するデザインタイムパッケージ。
  • GUIを介してコンポーネントのプロパティを変更できるようにするデモプロジェクト。

コンポーネントに変更を加えるときは、デモプロジェクトを再構築して実行するだけです。コンポーネントのプロパティを変更する場合は、ランタイムパッケージを再構築してから、デザインタイムパッケージをインストールします。これを行った後、デモフォームを再度表示すると、DelphiIDEは不足しているコンポーネントについて警告します。何も再作成する必要はありません。

例を見たい場合は、私のTChromeTabsソースを見てください。

于 2013-01-03T07:17:26.670 に答える
0

おー。コンポーネントの開発にこれほど多くの操作が必要になるとは思いもしませんでした。

私の一般的なワークフローは次のようになります。

  1. コンポーネント パッケージ (実行時および設計時) とテスト プログラムを含むプロジェクト グループを開く
  2. コンポーネント コードの変更
  3. コンポーネント パッケージの再構築
  4. そのコンポーネントでテスト プログラムのフォームに切り替えて、デザインタイムで問題がないように見えるかどうかを確認します。
  5. IDE からテスト プログラムを実行して、ランタイムで動作するかどうかを確認します。
  6. また、所有している Delphi バージョンごとに、クリーンな環境でコンポーネントとすべてのテスト プログラムをコンパイルするバッチ ファイルを (プリコンパイル済みの .dcu ファイルをすべて使用せずに) 実行することもあります。そのコンポーネントが Delphi 6 と Delphi 2010 (当社で使用されている) の両方で正しくコンパイルできることをテストするだけです。

Lazy Delphi Builderを使用して「クリーン コンパイル」を行います (完全な Delphi ライブラリ パスを使用せずにコンパイルします)。IDE ごとに個別の LazyDBP プロファイル。そして、それらすべてを実行する .bat ファイル。

于 2013-01-06T04:32:02.250 に答える