Ver Mensaje Individual
  #5  
Antiguo 02-09-2004
LucianoRey LucianoRey is offline
Miembro
 
Registrado: feb 2004
Posts: 73
Reputación: 21
LucianoRey Va por buen camino
Evento nuevo en objeto

Asi es Lepe, como ya me estoy adentrando mas en esto, ya me di cuenta que para lo que quiero es mejor crear mis componentes e incluir entre sus propiedades "mi evento", el ejemplo que me pones ( y no es por presumir, estoy aprendiendo ) ya lo habia hecho, pero no me gusto porque la idea es que.. bueno antes he de decir trabaje con Centura como lenguaje de programación y en este creaba un evento de usuario, este evento lo podia llamar en cualquier componente y lo que hacia era definirlo en los componentes que lo iban a utilizar(casi siempre eran todos incluyendo la Forma contenedora), dentro de este evento siempre manejaba wParam y lParam y por ejemplo si habia que limpiar los edit, combos o grid's que tuviera, le picaba al boton limpiar, este boton en su evento "MUsuario", enviaba un mensaje ej. SendMessage(Parent(HandleBotonLimpiar), MUsuario, 0,0) el 0,0 eran wParam y lParam respectivamente, este mensaje(MUsuario) era enviado a la Forma que contenia dichos componentes, esta a su vez cada que recibia un mensaje de este tipo lo reenviaba a todos sus componentes, algo asi como SenMessage( Child(HandleForma), MUsuario, wParam, lParam), y en mis componentes, como ya tenia definido el evento MUsuario, en cada uno tenia un codigo parecido a esto:
Código:
 
  On_MUsuario
	 if wParam =1
		if lParam = 1
		   Myvalue:='' // 
		elseif lParam=2
		   MyValue:=vArray[1]
en este caso yo le decia si es 1 limpia sino pon el valor del array correspondiente, esto a la hora de codificar me ahorraba bastante tiempo, porque solo copiaba el mismo codigo para todos mis componentes, y por ejemplo si habia algun cambio en la estructura de mi pantalla, solo borraba o creaba otro componente sin preocuparme por cambiar codigo en cualquier otro lado, ....regresando a lo primero lo que quiero, es eso mismo no tener que depender de los nombre de componentes en el codigo, es decir mi forma y sus componentes con su "evento usuario", si algun componente afecta el contenido de los demas pues envia un mensaje "evento usuario" a la forma y esta lo manda a todos los componentes y cada componente en su "evento usuario", tendra el codigo que tenga que ejecutar, si no debe responder pues no tendra nada, en el mismo caso que referia, ya tengo todos mis componentes con sus eventos "evento usuario", suponiendo que tengo una forma con un dbgrid donde muestro n registros y seleccionan uno para su edición ó quieren hacer un alta, bueno pues voy a la forma de registro y en el evento "evento usuario" de todos mis componentes donde voy a capturar la información, quiero decirle :
A mis componentes si lParam es 1 pues carga tu valor del array de campos, si es 2 quedate como estas, pero esto seria en cada "evento usuario" del componente y
A mi Forma si lParam es 1 tu caption sera "alta", si es 2 "modificación", si es 3 "Consulta", la primera vez que haga esto, se que va a ser bastante trabajo, pero las demas solo tendria que pegar mis componentes y ya, para estandarizar, bueno la inquietud de esto es porque voy a trabajar con SqlServer y quiero llevarme a mis pantallas los datos de mis registros pero tratando de utilizar el menos ancho de banda posible, bueno estoy tratando de usar lo menos posible componentes db que siempre estan conectados a los datos, espero ir bien en esto si no ustedes me diran, la verdad me han ayudado bastante, bueno ya me extendi, saludos y gracias por sus respuestas.
Responder Con Cita