tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルオブジェクト変数またはWithブロック変数が宣言されていません。
記事No11967
投稿日: 2008/04/06(Sun) 17:21
投稿者tea
フォーム(frmMain)からユーザーコントロール(PlayersGrid)内のMSFlexGridを
操作するためのコードなのですが、ユーザーコントロール内にある以下のコー
ドをフォーム(frmMain)内でも記述しました。
また、以下のDim MSFlexGrid As MSFlexGridは後から追加したもので、これが
ないとMSFlexGridの変数を宣言するようエラーが出たので追加しました。

フォーム(frmMain)内の以下の箇所でCALLして呼び出したいのですが、「オブジ
ェクト変数またはWithブロック変数が宣言されていません。」というエラーが出
ます。

Googleで「オブジェクト変数」で検索して調べてみたんですが、どうにもオブジ
ェクトとインスタンスがはっきりとはわからないんです。

基本的なことかもしれませんが教えてください。
よろしくお願いします。

Private Function FFoulPlayerOnJournal(CIndex)
Dim i As Integer
Dim MSFlexGrid As MSFlexGrid
Dim oRT As PlayersGridRedrawTrans
Dim PlayersGrid As PlayersGrid
    
    Set oRT = CreateRedrawTrans()
    
    CIndex = CIndex - 1
        
    With Game.Team(ab).Player(CIndex)
        If .FoulCount < bbPlayerFoulMax Then
            .Foul ("F")
            Call PlayersGrid.setFFoulResultColor(Enabled)
        End If
    End With
    
End Function

Private Function CreateRedrawTrans() As PlayersGridRedrawTrans
Dim MSFlexGrid As MSFlexGrid

    Set CreateRedrawTrans = Nothing

    If MSFlexGrid.Redraw = False Then Exit Function←ココでエラーとなります。
    
    Set CreateRedrawTrans = New PlayersGridRedrawTrans

    CreateRedrawTrans.StopRedraw MSFlexGrid
End Function

[ツリー表示へ]
タイトルRe: オブジェクト変数またはWithブロック変数が宣言されていません。
記事No11968
投稿日: 2008/04/06(Sun) 19:46
投稿者花ちゃん
Form に Command1 だけを貼り付けて、下記を試して見れば解るかと。


Option Explicit
Private Sub Command1_Click()
   Dim MyTextBox As TextBox
   Dim myText    As String
   myText = MyTextBox.Text
End Sub

[ツリー表示へ]
タイトルRe^2: オブジェクト変数またはWithブロック変数が宣言されていません。
記事No11969
投稿日: 2008/04/06(Sun) 21:24
投稿者tea
> Form に Command1 だけを貼り付けて、下記を試して見れば解るかと。

花ちゃんさん、回答をいただき本当にありがとうございます。

早速試してみましたが「オブジェクト変数が・・・」という投稿した
内容と同様のエラーがでました。

そこでヘルプを参照後にフォームにテキストボックスを1つ貼り付け
て、コードを以下にしました。
実行するとエラーは出ませんでした。

ただ、このコードは正しいのでしょうか?
今後同様の問題で投稿してご迷惑をおかけしたくはないので教えてく
ださい。
よろしくお願いします。

Private Sub Command1_Click()
Dim myTextBox As TextBox
Dim myText As String

    Set myTextBox = TextBox
                
    myText = myTextBox.Text

End Sub

[ツリー表示へ]