Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Lanzar Un Evento Desde Una Clase Definida Por Usuario (SOLUCIONADO)
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Lanzar Un Evento Desde Una Clase Definida Por Usuario (SOLUCIONADO) 
 
Este tema ya fue planteado en el foro y leí varias respuestas... sin embargo no termino de entender el tema y luego de probar varias veces no logro lanzar ningún evento...

He tratado de implementar las soluciones propuestas utilizando observadores pero sin resultado..
Lo que me gustaría hacer es que al hacer doble click en la tableview me llame el procedure muestralote()...


El código de la clase es el siguiente (no es más que un formulario con un tableview que recibe ciertos valores y los muestra):
INHERITS Form
PRIVATE tablaestrategia AS NEW TableView(ME)
PRIVATE $observer AS Observer



PUBLIC SUB mostrar(index_estrategia AS Integer)
  
  
  DIM e AS NEW estrategia
  DIM fila AS Integer = 0
  DIM columna AS Integer = 0
  e = variables.arrayestrategias[index_estrategia]
  tablaestrategia.Rows.Count = e.almacen_patas.Count
  tablaestrategia.Columns.Count = 6
  tablaestrategia.Rows.Height = 25
  tablaestrategia.Columns.Width = 150
  tablaestrategia.Height = 400
  tablaestrategia.Width = 800
  
  DO WHILE fila < e.almacen_patas.Count
  tablaestrategia[fila, columna].Text = e.almacen_patas[fila].nombre
  columna = columna + 1
  tablaestrategia[fila, columna].Text = e.almacen_patas[fila].operacion
  columna = columna + 1
  tablaestrategia[fila, columna].Text = CString(e.almacen_patas[fila].cantidad)
  columna = columna + 1
  tablaestrategia[fila, columna].Text = CString(e.almacen_patas[fila].valor)
  columna = columna + 1
  tablaestrategia[fila, columna].Text = CString(e.almacen_patas[fila].estado_pata)
  columna = columna + 1
  tablaestrategia[fila, columna].Text = CString(e.almacen_patas[fila].existe_error_pata)
  columna = 0
  fila = fila + 1
  LOOP

  tablaestrategia.Mode = 1
  
  ME.Show
  ME.W = 1000
  ME.H = 500
  
  $observer = NEW Observer(tablaestrategia)
  END
PUBLIC SUB $observer_DblClick()
  
  muestralote()
  
END



PRIVATE SUB muestralote()
  
  DIM ml AS NEW Fmuestralote
  
  ml.mostrar(tablaestrategia[tablaestrategia.row, 0].text)
  
END

 



 
última edición por santijav el Sabado, 30 Abril 2011, 04:42; editado 1 vez 
santijav - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Lanzar Un Evento Desde Una Clase Definida Por Usuario 
 
Prueba así
...
...
$observer = NEW Observer(tablaestrategia) as "xxx"
 END
PUBLIC SUB xxx_DblClick()
 
 muestralote()
 
END

 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Lanzar Un Evento Desde Una Clase Definida Por Usuario 
 
Es correcto y Funciona...

Pregunto el porqué antes no funcionaba??

Así como si por ejemplo si yo escribo

dim a as string[]

a.ddd(pepito) 'me va a salir un error y la explicación sería: no está instanciado... qué es lo que cambia cuando modifico el código de esa forma?

Gracias por enseñar!
 



 
santijav - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Lanzar Un Evento Desde Una Clase Definida Por Usuario (SOLUCIONADO) 
 
Hola
Citar:
Pregunto el porqué antes no funcionaba??


Tu pusiste esto
$observer = NEW Observer(tablaestrategia)

Al hacerlo creaste la clase pero no le diste un manejador de eventos. Por eso esa clase no podía manejar ningún evento.

Si quieres que esa clase maneje eventos tienes que darle un nombre al manejador de eventos. Esa es la claúsula AS.
$observer = NEW Observer(tablaestrategia) as "nombre"


Por eso ahora si haces un evento xxx_click funciona el evento click pero antes pusieras lo que pusieras no lo reconocía como un evento ligado a esa clase y por tanto no funcionaba.

 
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Evento Desde Otro Ejecutable campanillas General 16 Sabado, 12 Diciembre 2009, 19:54 Ver último mensaje
campanillas
No hay nuevos mensajes Como Lanzar Un Evento Desde Una Clase? mil_arg General 4 Sabado, 02 Enero 2010, 14:54 Ver último mensaje
mil_arg
No hay nuevos mensajes Como Crear Un Evento DobleClic En Una Clase? v3ctor Controles/Librerías/Componentes 3 Miercoles, 28 Junio 2017, 16:12 Ver último mensaje
vuott
No hay nuevos mensajes ¿Cual Es El Evento Donde Se Crea Y Carga ... gambafeliz Controles/Librerías/Componentes 7 Sabado, 21 Septiembre 2019, 16:00 Ver último mensaje
gambafeliz
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron