Parámetros al crear Objetos dinámicos
Publicado por Fabio (2 intervenciones) el 16/01/2007 18:37:59
Actualmenet estoy desarrollando un sistema basado en un modelo de 3 capas, para hacerlo mas mantenible decidi generar las opciones de los menues en forma dinámica, es decir, poseo tablas de una base de datos (SQL Server 2000) con el arbol de menues con su respectivas Dlls, por ejemplo para el menu: Listado de Clientes, en la tabla ademas del nombre: Listado de Clientes poseo un campo que indica que Dll dbe ejecutar (ListadoClientes.dll), hasta acá todo muy bien y funciona perfeto, lo que hago es que al hacer clic en el menu se jecute el siguiente código:
Dim Obj as Object
Dim frmDinamico as Form
Obj = CreateObject("ListadoClientes.dll")
frmDinamico = TryCast(Obj, Form)
frmDinamico.ShowDialog(Me)
Como dije anteriormente esto funciona perfectamente, el problema está cuando ademas de decirle el objeto que deseo crear necesito pasar los parámetros del constructor de ese objeto que en este caso esta sobrecargado. Lo que yo necesitaría sería algo similar a esto:
Dim Obj as Object
Dim frmDinamico as Form
Obj = CreateObject("ListadoClientes.dll", IdSucursal)
frmDinamico = TryCast(Obj, Form)
frmDinamico.ShowDialog(Me)
De manera que al crear el objeto ListadoClientes se le mande ese parámetro y el mismo sea utilizado en el contructor New que tengo sobrecargado de la siguiente manera:
Public Sub New (ByVal IdS as Long)
Espero que se entienda lo que quiero hacer y perdonen lo largo de la pregunta. He investigado y parece ser que creando el objeto con Activator.CreateInstanceFrom podría hacerlo pero la verdad que lo he intentado y no se como.
Gracias!! y Saludos, Fabio.
Dim Obj as Object
Dim frmDinamico as Form
Obj = CreateObject("ListadoClientes.dll")
frmDinamico = TryCast(Obj, Form)
frmDinamico.ShowDialog(Me)
Como dije anteriormente esto funciona perfectamente, el problema está cuando ademas de decirle el objeto que deseo crear necesito pasar los parámetros del constructor de ese objeto que en este caso esta sobrecargado. Lo que yo necesitaría sería algo similar a esto:
Dim Obj as Object
Dim frmDinamico as Form
Obj = CreateObject("ListadoClientes.dll", IdSucursal)
frmDinamico = TryCast(Obj, Form)
frmDinamico.ShowDialog(Me)
De manera que al crear el objeto ListadoClientes se le mande ese parámetro y el mismo sea utilizado en el contructor New que tengo sobrecargado de la siguiente manera:
Public Sub New (ByVal IdS as Long)
Espero que se entienda lo que quiero hacer y perdonen lo largo de la pregunta. He investigado y parece ser que creando el objeto con Activator.CreateInstanceFrom podría hacerlo pero la verdad que lo he intentado y no se como.
Gracias!! y Saludos, Fabio.
Valora esta pregunta


0