Visual Basic - Ayuda con formularios

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con formularios

Publicado por Moises (10 intervenciones) el 03/10/2006 17:18:58
Hola chicos, mi duda es la siguiente..

Si yo tuviera un formulario llamado frm_Clientes, lo que haria para cargarlo y mostrarlo seria lo siguiente (una de las opciones) :
frm_Clientes.show vbmodal

Partiendo de que el formulario existe, pero esta descargado, que pasa cuando el nombre del formulario lo tengo en una string ??? A través de la colección Forms no puedo llamarlo ya que ese formulario esta descargado y si bien hago :

Dim lstrFormulario as string
lstrFormulario = "frm_clientes"
Load lstrFormulario

Me dice que me acueste.

Haber, mi asunto no es tan sencillo, el nombre de los formularios biene dado a traves de unos arrays de tipos y demas. Por lo que necesitaria poder llamarlos

He probado tambien con CreateObject, pero tampoco.

Asi que agradezco que alguien me exe un cable.
Muchas grácias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con formularios

Publicado por yamall (15 intervenciones) el 03/10/2006 19:28:21
Dim lstrFormulario as Form
Set lstrFormulario = frm_clientes
Load lstrFormulario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con formularios

Publicado por Alfredo (5 intervenciones) el 03/10/2006 20:27:12
o así

Dim lstrFormulario As New frm_clientes
Load lstrFormulario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con formularios

Publicado por Matías Freire (1 intervención) el 03/10/2006 20:49:10
No GENTEEEEE!!!!!

El pibe tiene el nombre de un formulario en un string... y quiere cargar ese formulario.... que obviamente es dinámico (y que siempre exista dentro del proyecto).

Moisés... tenés que usar el objeto "Forms" que viene con VB hace esto:

Private Function AbrirFormulario (ByVal NombreFormulario As String) As Boolean

For i = 0 to Forms.Count -1
If Forms(i).Name = NombreFormulario Then
AbrirFormulario = True
Forms(i).Show
Exit For
End If
Next i

End Function

Espero que te sirva. Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con formularios

Publicado por Moises (10 intervenciones) el 03/10/2006 21:44:28
Hola chicos

En primer lugar gracias a yamall y Alfredo, pero como bien dice Matias, los nombres son dinámicos.

Matias, el Forms.Count, se refiere a los formularios cargados y este al que quiero llamarlo no esta cargado por lo que no me sirve lo que me dices. Tambien lo he probado tal i como dices anteriormente.

La cosa es tonta, pero no se como leches hacerlo.

De todas maneras, aunke sigo con la duda, muxas gracias a todos por vuestra ayuda.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con formularios

Publicado por Alex (119 intervenciones) el 03/10/2006 23:26:20
Y por que no solo pones esto...

Al momento de que el formulario principal se abra...

private sub frm_load()
load frm_clientes
frm_clientes.show
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con formularios

Publicado por Alex (119 intervenciones) el 03/10/2006 23:45:17
A pero que renegados se estan haciendo todos ultimamente, ya se que el dijo que mejor se quedaria con la duda pero de todos modos yo trate de responderla.
Si tu tienes la respuesta por que no se la das!!!! que no solo es el el que tiene la duda si no tambien muchas personas que tal vez lean este mensaje!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con formularios

Publicado por Moises (10 intervenciones) el 04/10/2006 00:35:23
Tranquiiiiiiiiiiiiiilos chicos , tranquiiiiiiiiilos !!!

Vamos a ver :

Si yo hiciera lo que ha dicho Alex, realmente lo que hace la funcion Load es cargar un OBJETO. Yo no tengo ese objeto, yo lo que tengo es una STRING que se llama identicamente igual que un FORMULARIO EXISTENTE en mi proyecto.

Al llamar al LOAD MiVariable (donde MiVariable puede ser perfectamente "frm_clientes") IMPORTANTE, SIENDO UNA STRING, la funcion LOAD acaba petando y ahi se queda.

Eh ahí el pícolo problema !!!

Grácias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar