ユーザ定義型のコレクションセット

解決


Mon  2004-06-08 11:38:52  No: 113774  IP: [192.*.*.*]

はじめまして。Monと申します。
質問があり、投稿致しました。

標準モジュール上で定義したユーザ定義型を
フォームモジュールでコレクションにAddしようとしたら、

プライベートオブジェクトモジュールを、
パブリックオブジェクトモジュール内でパブリックプローシジャの
引数または戻り値、パブリックデータメンバ、またはパブリックの
ユーザー定義型のフィールドとして使用することはできません

というコンパイルエラーが発生してしまいます。
ユーザ定義型のコレクションセットはフォームモジュール上では
不可能なのでしょか?
ユーザ定義型のスコープには問題無いと思うのですが。

どなたかおわかりでしたら、ご教授願います。

編集 削除
魔界の仮面弁士  2004-06-08 12:01:48  No: 113775  IP: [192.*.*.*]

CollectionオブジェクトにAddできるのは、
「Variant型変数に格納できるデータ型」だけです。

ユーザー定義型変数の場合、VarType関数を使った時に
vbUserDefinedTypeが返される状態の時のみ、
Collectionに格納できるようになります。

この場合、ユーザー定義型を標準モジュールで宣言するのではなく、
パブリックなモジュール上(例えば、InstancingプロパティをPublicにした
クラスモジュールやUserControlなどです)にて宣言する必要があります。

編集 削除
Mon  2004-06-08 13:37:14  No: 113776  IP: [192.*.*.*]

そうだったんですね。

現在はクラスをそのような目的で作成するようなことはしていないので、
再度、配列操作で検討してみます。

早々のご返答、有難うございました。

編集 削除
Mon  2004-06-08 16:32:01  No: 113777  IP: [192.*.*.*]

解決です。。。

編集 削除