Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: SheKeL_C$ en 7 Marzo 2006, 22:36 pm



Título: Saber de donde a sido llamado
Publicado por: SheKeL_C$ en 7 Marzo 2006, 22:36 pm
Estoy trabajando en un proyecto en el q necesito saber como podria indiquarme el programa desde donde a sido llamado(m refiero a un boton o funcion o lo q sea),este es un ejemplo resumido d lo q seria, 

Código:
Private Sub Command1_Click()
Call Command3_Click
End Sub

Private Sub Command2_Click()
Call Command4_Click
End Sub

Private Sub Command3_Click()
' si hubiera sido llamo de el boton 1 q el box sea 1, y si fuera por el 2 pues 2
MsgBox
End Sub

tmb podria es coger y poner en total 4 botones, pero m gustaria ahorrar codigo. con 4 seria asi
Código:
Private Sub Command1_Click()
Call Command3_Click
End Sub

Private Sub Command2_Click()
Call Command4_Click
End Sub

Private Sub Command3_Click()
MsgBox "1"
End Sub

Private Sub Command4_Click()
MsgBox "2"
End Sub


Título: Re: Saber de donde a sido llamado
Publicado por: .Slasher-K. en 7 Marzo 2006, 22:40 pm
Una variable global en un módulo por ejemplo.

Módulo basMain.bas

Código:
Public iCaller As Integer


Formulario frmMain

Código:
Private Sub Command1_Click()
  iCaller = 1
  Call Command3_Click
End Sub

Private Sub Command2_Click()
  iCaller = 2
  Call Command4_Click
End Sub

Private Sub Command3_Click()
  Call MsgBox("Procedimiento llamado desde botón " & iCaller)
End Sub

Private Sub Command4_Click()
  Call MsgBox("Procedimiento llamado desde botón " & iCaller)
End Sub