Visual Basic.NET - Eventos en aplicacion multicapas

 
Vista:
sin imagen de perfil

Eventos en aplicacion multicapas

Publicado por Abner (2 intervenciones) el 08/09/2011 15:06:03
No se cuál es el problema ... trato de hacer una prueba simple de activar un evento en una capa (pej. capa datos) y que la siguiente capa (negocios) lo capture ... este es el ejemplo super simplificado:

'CAPA DATOS
Public Class Funciones_MySQL

Public Event MySqlError(ByVal Err As ErrObject, _
ByVal Ex As Exception, _
ByVal Sql As String)

Public __cnx As MySqlConnection

Public Sub New()
Try
__cnx = New Conexion_MySQL().conexion
Catch MyEx As MySqlException
'Captura Mysql EX - Conexion => Evento
RaiseEvent MySqlError(Err, MyEx, "")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
'....
End Class

'CAPA NEGOCIOS
Public Class Prueba1
Dim WithEvents CD As Funciones_MySQL
Public Sub New()
CD = New Funciones_MySQL()
End Sub
Private Sub CapturaError(ByVal Err As ErrObject, _
ByVal Ex As Exception, _
ByVal Sql As String) Handles fm.MySqlError
MsgBox("Evento Capturado")
End Sub
End Class


Y el resultado ... es ... NADA ... no se captura el evento ... quisiera saber por qué ... se agradece cualquier ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Eventos en aplicacion multicapas

Publicado por Damian (824 intervenciones) el 09/09/2011 14:28:00
Donde tienes el Public Event MySqlError(Err, MyEx, "") porque para crear un evento tienes que tener esta declaración, o sea:

En las declaraciones:
Public event TuEvento()

Donde quieres que suceda el evento:
RaiseEvent TuEvento()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Eventos en aplicacion multicapas

Publicado por Abner (2 intervenciones) el 09/09/2011 16:15:03
Gracias por el coment ... pero no te entiendo bien ... si te fijas .. arriba en el código está la declaración del evento:

Public Class Funciones_MySQL

Public Event MySqlError(ByVal Err As ErrObject, _
ByVal Ex As Exception, _
ByVal Sql As String)

Y el evento se activa cuando hay una exepcion MySQL (en el catch):

Try
__cnx = New Conexion_MySQL().conexion
Catch MyEx As MySqlException
'Captura Mysql EX - Conexion => Evento
RaiseEvent MySqlError(Err, MyEx, "")
End Try

Y quiero capturar ese evento en la capa siguiente :
Dim WithEvents CD As Funciones_MySQL
Private Sub CapturaError(ByVal Err As ErrObject, ByVal Ex As Exception, ByVal Sql As String) _
Handles fm.MySqlError
'cualquier cosa
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar