Programación General > Visual Basic 6.0 e inferiores

 Instancias De Ctl En Tiempo De Ejecución

(1/1)

Lars82:
Hola,

Estoy creando un control ocx, es decir un ctl porque usaré desde el mismo proyecto desde el que lo creo, y no encuentro la manera de crear un objeto en tiempo de ejecución.

He probado con:

(en General declaraciones)
Dim a() As UserControl1

(en Public sub)
ReDim a(0)
...

set a(0)=new ....   -> pero el nombre de mi control no aparece.

y Load a(0)  -> da el error típico de Variable de tipo object no establecida

También he intentado algo como:

Set Userctl = Controls.Add("UserControl1", "ventana")

Pero no encuentra un control llamado Usercontrol1.

Cómo lo puedo hacer? Alguna idea?

mil gracias

luciano2:
Hola

No estoy seguro, pero creo que para crearlo en tiempo de ejecución con Controls.add, el control debe estar compilado, registrado en el sistema, y tenés que saber el Id para pasarle como paraémtro al ,Add

Yo lo haria con Load, por ej.

Colocás una instancia en tu form. El mismo tiene que ser parte  de un matriz, por eso agregale a la propiedad index, un 0


--- Código: Text ---  ' creás unoLoad UserControl11(1) UserControl11(1).Visible = TrueUserControl11(1).Move 0, 0, 1000, 1000  ' otro masLoad UserControl11(2) UserControl11(2).Visible = TrueUserControl11(2).Move 0, 1500, 1000, 1000   

saludos

Lars82:
Tenías razón, con un load teniente el control en el form funciona

gracias!

Navegación

[0] Índice de Mensajes

Ir a la versión completa