[リストへもどる]
一括表示

投稿時間:2003/12/09(Tue) 14:16
投稿者名:だだだ
Eメール:
URL :
タイトル:
コレクションクラス生成にて…
−−VB6使用
コレクションクラスをクラスビルダを使用して作ったのですが、
コレクションクラスから値を取得する方法が分からず、
詰まってしまいました。
ForEach…を使っての取得方法を知りたいのですが、
どなたか、お分かりになる方教えて頂けませんか。。
お願いしますm(__)m

投稿時間:2003/12/09(Tue) 15:26
投稿者名:LESIA
Eメール:
URL :
タイトル:
Re: コレクションクラス生成にて…
> −−VB6使用
> コレクションクラスをクラスビルダを使用して作ったのですが、
> コレクションクラスから値を取得する方法が分からず、
> 詰まってしまいました。
> ForEach…を使っての取得方法を知りたいのですが、
> どなたか、お分かりになる方教えて頂けませんか。。
> お願いしますm(__)m

For Eachでコレクションを取得するには、IUnknownインターフェイスを
使います。

↓が参考になるかも
http://www.interq.or.jp/www-user/komurak/chat/014.htm

投稿時間:2003/12/09(Tue) 15:39
投稿者名:だだだ
Eメール:
URL :
タイトル:
Re^2: コレクションクラス生成にて…
> ↓が参考になるかも
> http://www.interq.or.jp/www-user/komurak/chat/014.htm

返信ありがとうございます。
参考にしてみます^^

投稿時間:2003/12/09(Tue) 16:16
投稿者名:だだだ
Eメール:
URL :
タイトル:
未熟者のようですが…
まだ、値を取得することが出来ません。

現在は「型が一致しません。」とのエラーメッセージが吐き出されます。
クラスから帰ってくるところで、落ちるので受け取りの型が違うのかと思いますが…。

どのようにすれば、通るのでしょうか?

投稿時間:2003/12/09(Tue) 16:27
投稿者名:だだだ
Eメール:
URL :
タイトル:
追記
> まだ、値を取得することが出来ません。
>
> 現在は「型が一致しません。」とのエラーメッセージが吐き出されます。
> クラスから帰ってくるところで、落ちるので受け取りの型が違うのかと思いますが…。
>
> どのようにすれば、通るのでしょうか?

クラスが返す型は、「Unknown」なのですが、オブジェクトが不明な型ですか。(?)
これは、受け取り側?送り側?どちらがおかしいのでしょう?

長々とすみません。

投稿時間:2003/12/09(Tue) 17:12
投稿者名:LESIA
Eメール:
URL :
タイトル:
Re: 未熟者のようですが…
> まだ、値を取得することが出来ません。
>
> 現在は「型が一致しません。」とのエラーメッセージが吐き出されます。
> クラスから帰ってくるところで、落ちるので受け取りの型が違うのかと思いますが…。
>
> どのようにすれば、通るのでしょうか?

どんなコードを書いているかわからないので、どこがおかしいかはわかりませんが
とりあえず、コレクションクラスがCollection1、メンバクラスがClass1とすると
こんな感じです。

Dim objCol As Collection1
Dim objCls As Class1

Set objCol = New Collection1

objCol.Add "1"
objCol.Add "2"
objCol.Add "3"
objCol.Add "4"

For Each objCls In objCol
    MsgBox objCls.Key
Next objCls

投稿時間:2003/12/09(Tue) 17:33
投稿者名:だだだ
Eメール:
URL :
タイトル:
感謝感激!解決しました。
>For Each objCls In objCol
>    MsgBox objCls.Key
>Next objCls

本当にお手数お掛けしました。
自分は上記のソースで気付きました!

For Each objCls In objCol.Enum

という感じでやっていた為、エラーだったようです。
何故かまでは分からないですが…
クラスの取得するメソッドを通過していたので、
あってると思い込んでいました^^;

本当にLESIAさんありがとうございましたm(__)m