Programación General > Visual Basic 6.0 e inferiores

 Error 91 Al Asignar Valor Del Tag De Un Formulario

(1/2) > >>

Epa:
Buenas gente.
Me surgio un problemita y me prgunte si alguien me podia dar una mano.

Tengo un editor de texto de multiples instancias.
El formulario MDI tiene todos los menus y quiero que si no hay ningun formulario de texto abierto, algunos de los menus se inhabiliten, para lo que hice lo siguiente.

El formulario MDI tiene como tag "Main"
Los formularios de texo tienen como tag:
En caso de que sea un nuevo docuemento, "Nuevo"
Caso que sea un archivo existente la ruta del archivo.

Luego en el evento click del menu (p.e.) Edicion

Dim frmTag as String

frmTag = Screen.ActiveForm.Tag

If frmTag = "Main"
...
Elseif frmtag = "Nuevo"
...
Else
...
End if

Pero cuando no hay ningun formulario abierto y llega a la linea:
frmTag = Screen.ActiveForm.Tag
Genera un error 91
"La Variable de Tipo Object o la variable de bloque With no está establecida"

Sin embargo, si eligo depurar el error y pongo el cursor sobre Screen.ActiveForm.Tag  
me muestra que tiene el valor "Main"

Probe declarar una variable objeto como formulario, y asignarle el formulario activo para luego guardar el tag, sin embargo genera el mismo error cuando intento asignarlo.

Espero agluien tenga una idea de como solucionarlo.

Gracias de antemano.
Saludos

DiabloRojo:
Hola Podrías probar a comprobar primero si hay algún form activo y luego hacer la asignación del valor Tag. Podría ser algo como:


--- Código: Text --- If Not IsNothing Screen.ActiveForm Then   frmTag = Screen.ActiveForm.Tagelse   frmTag="Ningún Form"End If  
Espero que te sea útil.

Saludos,


DiabloRojo

Epa:
Buenas.
Gracias por el consejo, pero no sirve.
Probe con IsObject, IsEmpty e IsNull
Pero devuelven que si hay un abjeto y es el MDI, sin embargo sigue dando el error.

Gracias.

DiabloRojo:
Pero podría ser una forma indirecta de probar lo que buscas. Veamos:


--- Código: Text --- If Not IsNothing Screen.ActiveForm Then  'Indica que no hay otro form abierto   If Screen.ActiveForm.Name="NombreFormMDI" Then        frmTag="Ningún Form"   Else        frmTag = Screen.ActiveForm.Tag   End IfEnd If  
Es sólo una idea.


DiabloRojo.

Epa:
Ya encontre una solucion.  :lol:

Muchas gracias de todos modos.   :)

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa