Enumを戻り値として返すには?

解決


ダイ  2006-04-19 18:37:01  No: 95130

(クラス)でEnumのプロパティを作成しました。
private eData  As enmCode

(コレクション)内で、該当する値を探しだし、enumCodeを戻り値として
変えそうとする関数を作成しましたが、動かすとエラーで怒られてしまいました・・・。
(エラー:このオブジェクトは、このプロパティ又はオブジェクトをサポートしていません)

Public Function GGetCode(ByVal sName As String) As enmCode

    GGetCode = Start
    Dim nCnt    As Long
    
    For nCnt = 1 To mCol.Count
        If (mCol(nCnt).sName = sName) Then
            GGetCode = mCol(nCnt).Code <-------- コレがエラーに。    
            Exit Function
        End If
    Next nCnt
End Function

Enumの使い方がなってないと思うのですが・・・
どうにもわからなくて・・・。
すみませんが教えて下さいm(_ _)m


ダイ  2006-04-19 18:47:11  No: 95131

ちなみに、ENumの定義はクラス内でしています。

Public Enum enmCode
  Start = 0
  Stop = 1
  WorkEnd = 2
end Enum


Blue  2006-04-19 19:29:20  No: 95132

> If (mCol(nCnt).sName = sName) Then
> mCol(nCnt).Code
mColはどうなっていますか?


ダイ  2006-04-19 20:06:36  No: 95133

生成しているか?という事でしょうか?
であれば、生成はしてあります。

データも何件か入っているのを確認したのですが・・・。


特攻隊長まるるう  2006-04-19 20:13:08  No: 95134

>生成しているか?という事でしょうか?
いや、中身の構造がどうなってるか?だと思う。

>(エラー:このオブジェクトは、このプロパティ又はオブジェクトをサポートしていません)
これは結局、『mCol(nCnt) に Code っていう名前のものが無いです』って意味なので
 mCol は何?って事を説明して?質問文の中で全く触れてないよね?

変数名を見るとモジュールレベルの変数みたいだから何の型の配列で、
オブジェクト型なら生成したインスタンスをどういうコードで設定してるか?まで
ちゃんと説明しましょう。


ダイ  2006-04-19 20:24:26  No: 95135

特攻体調まるるうさんの言う通りでした・・。
おはずかしい。

GGetCode = mCol(nCnt).Code

クラスの定義をよく見直してみた所
Codeと言う名称が微妙に違っていました。
ホントにスミマセン!!!

Blueさん、特攻体調まるるうさんありがとうございました。
穴があったら入りたい・・・。(T_T)
説明ベタですみません。


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

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






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