Programación General > Visual Basic 6.0 e inferiores
Error 91 Al Asignar Valor Del Tag De Un Formulario
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
[#] Página Siguiente
Ir a la versión completa