2012-09-26 4 views
7

Ich bin nur Anfänger und ich habe versucht, ein einfaches Programm in Visual Basic 6 zu erstellen. Der Code entspricht fast dem im Lehrbuch. Es sollte eine Art Malprogramm sein. Überraschenderweise konnte es nicht mit dem Fehler im Titel dieser Frage zusammengestellt werden. Dies ist der Code:Prozedurdeklaration stimmt nicht überein Beschreibung des Ereignisses oder Prozedur mit demselben Namen

Option Explicit 

Dim Col As Long 

Private Sub Form_Load() 
    AutoRedraw = True 
    BackColor = vbWhite 
    Col = vbBlack 
    DrawWidth = 3 
End Sub 

Private Sub Command1_Click() 
    CommonDialog1.ShowOpen 
    Form1.Picture = LoadPicture(CommonDialog1.FileName) 
End Sub 

Private Sub Command2_Click() 
    CommonDialog1.ShowSave 
    SavePicture Image, CommonDialog1.FileName 
End Sub 

Private Sub Command3_Click() 
    CommonDialog1.ShowColor 
    Col = CommonDialog1.Color 
End Sub 

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 
    PSet (X, Y), Col 
End Sub 

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 
    Select Case Button.Key 
    Case "Line1" 
     DrawWidth = 3 
    Case "Line2" 
     DrawWidth = 20 
    End Select 
End Sub 

Die Anwendung stürzt auf der folgenden Zeile:

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 

Mit dem Fehler:

procedure declaration does not match description of event or procedure having the same name

Antwort

20

Das Problem ist hier:

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 

Ok, seit Wenn Sie in VB6 programmieren, können Sie einige Tricks im VB6-Playbook lernen. Benennen Sie die Methode vorläufig wie folgt in qqToolbar_ButtonClick um. Wechseln Sie dann zum Designer und klicken Sie auf die Schaltfläche in der Symbolleiste, um das Ereignis im Code neu zu generieren.

Wenn die Signatur falsch eingegeben wurde, wird sie vom Designer korrekt neu generiert, und das Problem tritt möglicherweise auf.

Eine weitere Überprüfung ist, ob die ToolBar1 zu einem Steuerelement-Array hinzugefügt wurde? In diesem Fall muss die Signatur der Methode wie folgt aussehen:

Private Sub Toolbar1_ButtonClick(ByVal Index as Integer, ByVal Button As MSComctlLib.Button) 

Ich hoffe, dass einer von ihnen hilft Ihnen, das Problem zu lösen.

+0

Vielen Dank für die schnelle Antwort !!! Der erste hat mir geholfen, dieses Problem zu lösen! – user1700848

+0

Das Kontrollfeld war mein Problem, danke –