Puedo Pasar Nombres De Form Y Usarlos Como Parametros En Subrutinas Desde Modulos ?

Puedo Pasar Nombres De Form Y Usarlos Como Parametros En Subrutinas Desde Modulos ?
Article
Quote    Download Post  
Post Puedo Pasar Nombres De Form Y Usarlos Como Parametros En Subrutinas Desde Modulos ? 
 
Estimados :

tengo un procedimiento en un modulo que trae datos de una tabla mysql pero lo puedo llamar de varios formularios

en vb6 uno podia escribir en un Form por ejemplo

codigo.text as texbox
descripcion.text as textbox

call Traer_codigo_descripcion(me)

En el Modulo
sub Traer_codigo_descripcion( frm as Form)

resulset = select * from tabla where xxxxxxxx
'aca podia a traves de la variable frm asignar los datos a los textbox de distintos formularios

frm.codigo.text = resultset("codigo")
frm.descripcion.text = resultset("descripcion")

endsub
esto es posible en gambas ?

desde ya muchas gracias



 
Horacio - Profile PM  
Horacio [ Friday, 01 July 2016, 20:44 ]


Puedo Pasar Nombres De Form Y Usarlos Como Parametros En Subrutinas Desde Modulos ?
Comments
Quote    Download Post  
Post Re: Puedo Pasar Nombres De Form Y Usarlos Como Parametros En Subrutinas Desde Modulos ? 
 
No conozco tu proyecto, pero dejame darte una reflexión:

Es una muy, muy mala praxis esa de modificar formularios desde otros formularios o módulos. Es la manera más rápida de perderse en el momento en que trates un formulario desde cinco o seis sitios... además que infringes todos los principios ortodoxos de la POO.
Por otra parte no veo por ningún lado la ventaja de ello. Por ninguno. ¿Qué hace de mágico el código de ese módulo que no pueda hacerlo el código del propio fomulario? Además hay muchas desventajas en hacerlo así. Desde la que te indico arriba hasta cosas pequeñas como que si cambias el nombre de un campo en el formulario, por ejemplo, se te cambia en el código del formulario de forma automática, el el del módulo no, etc. etc.
Puedes colocar en un módulo la variable que maneja la conexión a la BD y las rutinas de acceso a la misma, pero el tratamiento de los datos del formulario debes colocarlo en el propio formulario.
Así si en el form tienes, por ejemplo una variable tabla con el nombre de la tabla, basta con pasarla a una funcion del módulo que devuelva un result  de datos para ser tratados en el form. Algo así:

En el form:
dim rSet as result
rSet = Traer_codigo_descripcion(tabla)
' y en rSet tienes los valores que necesitas
 

En el Modulo
public function Traer_codigo_descripcion( tabla as string) as result
dim resulset as result
resulset = miconexion.exec("select * from " & tabla & " where xxxxxxxx")
return resultset
end
 


Dicho ésto sí, puedes pasar los formularios como parámetros, claro. Tendrás que activar aquello de marcar como públicos los controles de los formularios en las propiedades del proyecto y demás... y sí, sigue siendo una práctica de mala programación...

Saludos.



 
Last edited by shordi on Friday, 01 July 2016, 22:05; edited 1 time in total 
shordi - Profile PM  
shordi [ Friday, 01 July 2016, 21:58 ]
Display posts from previous:    
Post new topic  Reply to topic  Page 1 of 1
 
 

Users browsing this topic: 0 Registered, 0 Hidden and 1 Guest
Registered Users: None


 


   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1062s (PHP: -40% SQL: 140%)
SQL queries: 24 - Debug Off - GZIP Enabled