5

VB 6 でクラスを実装 (つまり、インターフェイスを実装) しようとしていますが、「コンパイル エラー: 実装のインターフェイスが正しくありません: インターフェイスにデータ フィールドが含まれています」というエラーが表示されます。実装できるクラスに制限があるかどうか疑問に思っていますか? または、この特定のエラーが発生する理由を誰かが知っていれば、それも役に立ちます。

もっと明確にする必要がある場合はお知らせください。みんなありがとう。

デイブ

4

2 に答える 2

6

VB6 のインターフェイスには、メンバー変数ではなく、メソッドのみを含めることができます。

プロパティ メソッドを (let 関数と get 関数を使用して) 実装することで、メンバー変数をシミュレートできます。

于 2010-12-07T22:19:21.013 に答える
4

VB のタイプ ライブラリ コンストラクターには多くの制限があります。おそらく、そのインターフェイスで使用されているパラメータが、VB のクールなものと互換性がないもの、たとえば unsigned long である可能性があります。VB は unsigned long を処理できます。それらを通常の LONG 変数に入れてから、符号のために少し異なる方法で処理する必要があります。

したがって、OLE ビューを使用して、このインターフェイスが定義されているタイプ ライブラリを開き、それを IDL ファイルにコピーしてから、インターフェイス定義を VB でより使いやすいように変更した後、MIDL で再コンパイルすることをお勧めします。

Matthew Curland は、彼の VB6 の本「毎日のプログラムのためのパワー テクニック」でこれについて説明しています。

于 2010-12-07T22:20:54.953 に答える