VB6: Button bleibt unsichtbar

Masterclavat

Erfahrenes Mitglied
Hi liebe Community, =)

da ich noch ziemlicher Anfänger in VB bin und ein - wahrscheinlich kleines - Problem, das ich aber nicht selber herausfinden konnte, habe, hat es mich hierher gezogen um meine Frage zu stellen.

Also ich programmiere mit VB6 und habe kürzlich ein kleines großes Projekt angefangen.

Hier ein Stück Code:

Code:
    Private Sub Form_Load()
    Me.Caption = Form1.Label1(ZählerSp(Spielerdran - 1)).ToolTipText
    Form1.Timer1.Enabled = False
    If Kaufen = True Then
        Command2.Visible = True
        Command3.Visible = True
        Command1.Visible = False
    Else
        Command1.Visible = True
        Command2.Visible = False
        Command3.Visible = False
    End If
End Sub

So, wenn sich die Form öffnet ist meistens alle in Ordnung, aber manchmal kommt es vor, dass der Button "Command2" einfach nicht sichtbar wird, also die Anweisung "Command2.Visible = True" einfach ignoriert.(Habs mit dem Debugging überprüft)

Ich habe echt keine Ahnung was das Problem sein kann, also bitte ich um Hilfe. =)

MfG Masterclavat
 
Ok, kann ich machen, aber es ist noch nicht mal halbfertig (nur 2-Spieler geht) und man sieht auch, dass ich noch Anfänger bin.
Also, wäre ich Froh, wenn das Projekt nicht "bewertet" wird. :D
 

Anhänge

  • Projekt.zip
    55,2 KB · Aufrufe: 39
Zuletzt bearbeitet:
Hallo.

Für einen "Anfänger" nicht schlecht. Das Spielbrett täte ich etwas weiter nach oben/mitte, da es sich bei mir mit der Taskleiste nicht ausgeht.
Und wenn man etwas schon besitzt zeigt sich trotzdem der Kaufendialog nach der Msgbox "g".

Ich habe mir jetzt ca. 15 Grundstücke gekauft, und bei mir gab es keine Probleme, außer dass sie nichts gekostet haben ^^

besitze.JPG

mfg

Philipp9494
 
Zuletzt bearbeitet:
Hallo.

Für einen "Anfänger" nicht schlecht. Das Spielbrett täte ich etwas weiter nach oben/mitte, da es sich bei mir mit der Taskleiste nicht ausgeht.
Werde ich ändern. =)

Und wenn man etwas schon besitzt zeigt sich trotzdem der Kaufendialog nach der Msgbox "g".
Das war nur ein Test, um zu schauen, ob ich das überhaupt richtig gemacht habe, habe das aber mittlerweile schon verändert. :)

Den "1-Spieler-Modus" hab ich erstmal in Ruhe gelassen, weil ich das Spiel erstmal für 2 Spieler anfangen wollte. (Wäre mir ein Bisschen zu kompliziert, alles auf einmal zu machen.) :)

Ich habe mir jetzt ca. 15 Grundstücke gekauft, und bei mir gab es keine Probleme, außer das sie nichts gekostet haben ^^

Das liegt wahrscheinlich auch daran, dass es im 1-Spieler-Modus (noch) nicht richtig funktioniert.:D

Aber danke, dass du es dir wenigstens mal angeschaut hast, auch wenn du den "Fehler" (noch) nicht gefunden hast. Wie gesagt der Fehler tritt bei mir auch nur ab und zu auf, und ich kann kein "Muster" erkennen, nachdem das passiert. Sonst würde er für mich wahrscheinlich leichter zu finden sein. :)

MfG Masterclavat
 
Also bei 2 Spieler ist es jetzt bei mir auch manches Mal.
Bis jetzt hab ich aber noch nicht herausgefunden warum.

Werd mich noch ein wenig damit beschäftigen, und schreiben falls ich es herausgefunden habe..

mfg

Philipp9494
 
So, habs jetzt....

Visual Basic:
Public Function Bildladen(Feld As String)
    If Spielerdran = 1 Then
        If Gekauft(ZählerSp(0)) = True Then MsgBox "g"
    ElseIf Spielerdran = 2 Then
        If Gekauft(ZählerSp(1)) = True Then MsgBox "g"
    End If
    If Feld = "Los" Or Feld = "Gefängnis" Or Feld = "FreiParken" Or Feld = "GeheInsGefängnis" _
                Or Feld = "Ereignis" Or Feld = "Gemeinschaftsfeld" Then
        Kaufen = False
    Else
        Kaufen = True
    End If
    If KlickLabel = False Then
        If Spielerdran = 1 Then
            If Gekauft(ZählerSp(0)) = True Then Form2.Command2.Visible = False 'Das hier ist geändert..
            Me.Enabled = False
            On Error Resume Next
            Form2.Picture1.Picture = LoadPicture(App.Path & "\Bilder\" & Feld & ".jpg")
        End If
        If Spielerdran = 2 Then
            If Gekauft(ZählerSp(1)) = True Then Form2.Command2.Visible = False 'und das hier..
            Me.Enabled = False
            On Error Resume Next
            Form2.Picture1.Picture = LoadPicture(App.Path & "\Bilder\" & Feld & ".jpg")
        End If
    End If
    If KlickLabel = True Then
        On Error Resume Next
        Form4.Picture1.Picture = LoadPicture(App.Path & "\Bilder\" & Feld & ".jpg")
        Form4.Show
    End If
    Feldstr = Feld
    If Feldstr = "Zusatzsteuer" Or Feldstr = "Einkommensteuer" Then
        Form2.Command2.Caption = "Bezahlen"
        Form2.Command3.Visible = False
    End If
    If KlickLabel = False Then Form2.Show
End Function

Weis zwar nicht warum, da Steuerelemente nicht mit wirklichen Namen benannt sind und leider keine Kommentare vorhanden sind, aber bei mir hat es ca. 5 Runde mit 2 Spielern funktioniert.

Wenn ein Grundstück gekauft ist, so wird Command2 = Kaufen - Button nicht mehr angezeigt..

Wenn dein Problem endgültig gelöst ist, bitte unten auf "Erledigt" klicken ;-)

//edit: Schick mir dein fertiges Programm (wenn es Freeware ist ^^) auf pdll13(at)hotmail.com

mfg

Philipp9494
 
Zuletzt bearbeitet:
Danke, hat geholfen. Mein Problem ist gelöst. =)

Das Programm wird wahrscheinlich noch etwas dauern, weil ich noch so viel machen muss, wie es für 3-5 Spieler zu programmieren. Aber zum Glück habe ich ja Schuleferien. :D
 

Neue Beiträge

Zurück