まず、VB6を使用しているので、VB6に適用される技術にあなたの親切な提案を限定してください。VB6アプリケーションを再利用するには?
Iは、上記の図に示すように相互に関連するコントロールのセットを有します。
左のツリービューノードをクリックまたは変更すると、右のコントロールはそれに応じてツリー表示を変更し、その逆も同様です。 。
シーンの背後にあるデータは、Accessデータベースで管理されます。
このデータ管理と表示のセットは、いくつかの異なるアプリケーションで使用されます。そこで私はロジックを実装するためにいくつかのクラスを作成し、これらのクラスモジュールを自分のアプリケーションに何度も追加しました。
私は実際にを再利用します。 "コピー&ペースト"モードのクラスです。それは動作しますが、問題があります。私が授業で変更を加えたら、それを別のアプリケーションで変更する必要があります。
最近、私はこれらをいわゆるActiveXコンポーネントにすることを考えています。しかし、アーキテクチャ全体を再利用するためにどのような種類のActiveXコンポーネントを開発すればよいかわかりません。
一言で言えば、私はを知りたいのですが、どうすればいいですか?「コピー&ペースト」よりももっとうまく再利用できますか?以下は新しい「優雅なREUSE」のアイデアや期待ですが、それらに限定されていません。
(1)私はデザイン時にいくつかのプロパティを設定できるように、プロパティページを持つActiveXコントロールのように思えます。
(2)異なるアプリケーションの場合、右側のサブフォームは異なる情報を表示し、コントロールが異なり、エクストララルコーディングと設計が必要な場合があります。
(3)また、ツリービューとlistviewのためのいくつかの新しい動作をdifferntアプリケーション用にコーディングする必要があるかもしれません。この要件は、フォーム全体の全体的なユーザーコントロールを適切にしません。 MSDNでは「ActiveXコントロールへの参照はクライアントアプリケーションに返されるべきではない」と述べているためです。
「優雅」と聞こえます。ありがとうございます。私はかなりのActiveX dllとインターフェイスの概念を知っていないので。それ以上の説明をお願いしますか? ShapeScreenはdllのクラスであり、IShapeFormというインターフェースを持っています。シェイプクラスはどこにありますか?それらはあなたのdllにもありますか?要するに、私はちょうど "フォームのインターフェイスを実装する"を作ることができません?多形性とは関係がありますか? – SlowGrace
Architechture全体を説明するコードをいくつか教えてください。 – SlowGrace
あなたのDLLにIShapeFormというクラスがあるということですか? DLLのすべてのクラスは、実際のフォームで必要なときにIShapeFormとやりとりします。 DLLを使用するときは、IShapeFormクラスに実際のフォームを登録します。はい、私はこれがあなたの意味だと思います。 – SlowGrace