すいません、変な質問かもしれませんが、
現在ソフトをFrameで作成するかコンポーネントとして作成するか迷っています。
まず私の認識ですが(間違っていたらご指摘ください。)
FrameとしてFRTest.Pasを作成したらFrameコンポーネントをFormにはりつけるときにどのFrameを使うかでFrameを選択することができます。(ただしそのプロジェクトのみ)
※FRTest.Pasをライブラリに設定すればどこからでも使用できる?
コンポーネントではそもそもそのコンポーネント自身をFormに貼り付けて使用します。どのプロジェクトからでもOK
もしいろんなところでこのソフトを使用したい場合はコンポーネントで作成するべきなのでしょうか?
アドバイス、指摘などよろしくお願いします。
JUN様へ
なかなか興味深い質問ですね。
私の場合TFrameで作成するか、TPanelを継承して作るかは
そのビジュアルコンポーネントデザインの複雑さによって選択しています。
あとTFrameを使って作った物もコンポーネント感覚で使えます。
使用したいプロジェクトファイルに拡張子pasとdfmをコピーして
プロジェクトに追加するか、usesに追加すれば良いかと思われます。
余談ですが私の場合はFormに貼り付ける場合には
自分で生成して使うことが多いです。
他の方の方法も気になるところです。
takeさん
回答ありがとうございます。
結局はTFrameで作成した場合、作成時に貼り付けた各コンポーネントのそれぞれのプロパティを変更でき、takeさんの言うようにUsesで追加すれば、コンポーネントと同等に使用できると思います。
コンポーネントは一つでプロパティやイベントやメソッドがあり、それを使用するのですよね。
TFrameで作成した場合とコンポーネントの違いはこのあたりのことでしょうか?認識が違っていたらすいません。
私もいろんな意見が気になります。
チームを組んで開発している場合に起こった不具合ですが・・・
コンポーネントを誰か一人が作成し、それを各人が自PCへインストールして開発。
開発無事終了。ユーザーでの使用も問題無し。
その後、コンポーネント作成者が、別の案件でこのコンポを少し変更。
このことを他のメンバーに伝えるのを忘れる。
しかも、変更前のコンポとは互換性がない部分がある。
さらに別のチーム開発でこのコンポを使用したところ、互換性がないことが原因で不具合発生。
というのがありました。
コンポーネントは開発中のファイルとは別のフォルダにありますので、
更新日付とか普段気にしないので、こういうことが起こりがちかなと・・・
その点、Frameはプロジェクトに組み込むときに、ファイルを
エクスプローラからD&Dしますので、気付きやすいかと思います。
ちょっとしたことなのですが、かなりの期間、原因がわからず苦しんだため、
うちでは極力コンポは開発しないことになりました(^^;
manbonさん
ありがとうございます。
そうですね、コンポーネントで作成の場合、信頼できるものを作成しなければならないですね。
一度作成したら使いやすいのはコンポーネントかもしれませんが、
ミスがあった場合、あとで面倒な気がします。
今回はFrameで作成することにします。
みんさん、回答ありがとうございました。
すいません、解決とします。
ツイート | ![]() |