Frameとコンポーネントの違いに関して

解決


JUN  2010-04-28 23:57:18  No: 38364

すいません、変な質問かもしれませんが、
現在ソフトをFrameで作成するかコンポーネントとして作成するか迷っています。
まず私の認識ですが(間違っていたらご指摘ください。)
FrameとしてFRTest.Pasを作成したらFrameコンポーネントをFormにはりつけるときにどのFrameを使うかでFrameを選択することができます。(ただしそのプロジェクトのみ)
※FRTest.Pasをライブラリに設定すればどこからでも使用できる?

コンポーネントではそもそもそのコンポーネント自身をFormに貼り付けて使用します。どのプロジェクトからでもOK

もしいろんなところでこのソフトを使用したい場合はコンポーネントで作成するべきなのでしょうか?

アドバイス、指摘などよろしくお願いします。


take  2010-04-29 02:03:32  No: 38365

JUN様へ
なかなか興味深い質問ですね。
私の場合TFrameで作成するか、TPanelを継承して作るかは
そのビジュアルコンポーネントデザインの複雑さによって選択しています。

あとTFrameを使って作った物もコンポーネント感覚で使えます。
使用したいプロジェクトファイルに拡張子pasとdfmをコピーして
プロジェクトに追加するか、usesに追加すれば良いかと思われます。

余談ですが私の場合はFormに貼り付ける場合には
自分で生成して使うことが多いです。

他の方の方法も気になるところです。


JUN  2010-04-29 02:12:27  No: 38366

takeさん

回答ありがとうございます。
結局はTFrameで作成した場合、作成時に貼り付けた各コンポーネントのそれぞれのプロパティを変更でき、takeさんの言うようにUsesで追加すれば、コンポーネントと同等に使用できると思います。

コンポーネントは一つでプロパティやイベントやメソッドがあり、それを使用するのですよね。

TFrameで作成した場合とコンポーネントの違いはこのあたりのことでしょうか?認識が違っていたらすいません。

私もいろんな意見が気になります。


manbon  2010-04-29 18:44:27  No: 38367

チームを組んで開発している場合に起こった不具合ですが・・・

コンポーネントを誰か一人が作成し、それを各人が自PCへインストールして開発。
開発無事終了。ユーザーでの使用も問題無し。
その後、コンポーネント作成者が、別の案件でこのコンポを少し変更。
このことを他のメンバーに伝えるのを忘れる。
しかも、変更前のコンポとは互換性がない部分がある。
さらに別のチーム開発でこのコンポを使用したところ、互換性がないことが原因で不具合発生。

というのがありました。

コンポーネントは開発中のファイルとは別のフォルダにありますので、
更新日付とか普段気にしないので、こういうことが起こりがちかなと・・・

その点、Frameはプロジェクトに組み込むときに、ファイルを
エクスプローラからD&Dしますので、気付きやすいかと思います。

ちょっとしたことなのですが、かなりの期間、原因がわからず苦しんだため、
うちでは極力コンポは開発しないことになりました(^^;


JUN  2010-05-06 19:50:52  No: 38368

manbonさん

ありがとうございます。
そうですね、コンポーネントで作成の場合、信頼できるものを作成しなければならないですね。
一度作成したら使いやすいのはコンポーネントかもしれませんが、
ミスがあった場合、あとで面倒な気がします。
今回はFrameで作成することにします。

みんさん、回答ありがとうございました。


JUN  2010-05-06 19:51:32  No: 38369

すいません、解決とします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加