2012-09-26 129 views
7

No soy más que un principiante e intenté hacer un programa simple en Visual Basic 6. El código es casi equivalente al del libro de texto. Estaba destinado a ser una especie de programa de pintura. Sorprendentemente, no se pudo compilar con el error dado en el título de esta pregunta. Este es el código:declaración de procedimiento no coincide con la descripción del evento o procedimiento que tiene el mismo nombre

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 

la aplicación se bloquea en la línea siguiente:

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 

con el error:

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

Respuesta

20

El problema está aquí:

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 

Ok, ya que estás codificando en VB6, puedes aprender algunos de los trucos en el libro de jugadas VB6. Cambie temporalmente el nombre del método a algo más como qqToolbar_ButtonClick, luego vaya al diseñador y haga clic en el botón de la barra de herramientas para volver a generar el evento en el código.

En el caso de que la firma haya sido mal escrita, se regenerará correctamente desde el diseñador y es posible que vea el problema.

Otra comprobación es ver si la ToolBar1 se agregó a una matriz de control? En ese caso, la firma del método debe tener este aspecto:

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

espero que uno de ellos ayuda a resolver el problema para usted.

+0

Muchas gracias por su respuesta tan rápida !!! ¡El primero tu consejo me ayudó a superar este problema! – user1700848

+0

La matriz de control fue mi problema, gracias –

Cuestiones relacionadas