Incluir Barra de Menu en un Formulario MDI Modal

Hola Experto Unysoft, ante todo un saludo, soy nuevo en vfp9 aunque tengo experiencia en foxpro dos, estoy aprendiendo por medio de foros en la web.
Mi pregunta deriva de un problema que se me está presentado con un form en cual tiene la showwindows=2 (nivel superior) y windowstype=1 (modal) mdi, pero cuando genero y corro la aplicación, me muestra dentro del archivo .mpr (del menu), la instrucción SET SYSMENU TO resaltada y me arroja en error que dice: "No se encuentra la Instrucción PARAMETER", he intentado de varias menra, según los foros pero nada, a ver si pudieran ayudarme,
Un saludo y Gracias Anticipadas

1 Respuesta

Respuesta
1
El error puede estar produciéndose por varios motivos:
1) Quizás has editado manualmente el código de la definición del menú principal de tu sistema y has omitido algún parámetro. La solución es repasar el diseño de cada uno de los elementos de tu menú con el editor de Visual FoxPro y volver a generar el proyecto.
2) Otro motivo es que no tengas definido ningún menú para tu sistema, sólo tu formulario de nivel superior. En ese caso en el programa de inicio no llames al menu, es decir excluye las cláusulas set sysmenu to.
Prueba esto y si el problema continúa me avisas.
Buenas Noches Carlos, espero que ten encuentres bien
En relación con la repuesta que me enviaste, te informo:
No he editado el código de la definición del menú principal del sistema, solo incorporé un prg de inicio que se llama igual y que tiene la declaración de los parámetro para la aplicación y como última sentencia llama al form de pantalla inicial al cual le agregué la opción de incorporar la barra de menú de la cual te hablé.
Además te informo que lo único extraño es que en el menú que quiero incorporar, lo único que no tiene son las sentencia para llamar cada una de las opciones de los componentes de dicho mnú, solo quería el bosquejo del mismo, para empezar realizar cada opción respectiva.
Es de hacer notar que después del error que me arroja, le doy la opción de pasar por alto y mes aparece las opciones del menú que elaboré junto con todas las opciones del menú de visual foxpro.
Cualquier ayuda o aclaratoria que me puedas dar, te lo agradecré.
Use Saludo,
Ramón Oscar Rodríguez
Venezuela
email: [email protected]
Te he agregado a mis contactos de messenger para poder consultarte sobre algunas cuestiones de tu problema. Creo que va a ser más rápido por este medio.
Según lo que me explicas, creo que el error se debe a que el menú que has definido tiene elementos que pueden estar definidos como submenú. Si no has definidos estos submenús vas a recibir el error que me comentas.
De todas formas, te pido que realices la siguiente prueba:
En tu programa omite la línea que llama al menú y prueba el sistema. Según lo que me explicas debería funcionar bien.
Si es así vuelve a habilitar la llamada al menu y edita el menú que has creado. Si tu menú no esta operativo, no debes definir ninguno de los elementos del menú principal como submenú, defínelos como Nº de barra hasta tanto vayas definiendo el comportamiento de cada elemento.
Con esto debería ser suficiente para que dejes de recibir el error hasta tanto definas los elementos de tu menu.
Apreciado Amigo Carlos:
Ante todo estoy muy agradecido por tu preocupación y paciencia que le has brindado ami problema, pero me sigue dando el mismo problema, hice lo que me sugeriste de en lugar de dejar las opciones de submenú, ponerla como numero de barra y nada me sigue dando el mismo error.
Se me ocurre que si me envías tu dirección de email, te hago llegar los recpectivos archivos para que los evalúe a ver si se me ha escapado algo que no te comenté, no sé como enviartel desde este blog, pero no sé como, de todas manera seguiré agradecido de tu ayuda.
Saludos..
Ramón O. Rodríguez F.
Con todo gusto:
puedes enviarlos a [email protected]
Ok, ya te envié los archivos, Gracias..
Ya recibí los archivos.
Esta noche los voy a analizar y si todo marcha bien mañana te comento los resultados.
Apreciado Carlos:
Ante todo un gran saludo a ti y a tu familia, quiero decirte que agradecido estoy yo por la paciencia y el apoyo que me has brindado, tomate el tiempo que desees, ya que para mí no es nada urgente, es solo un aprendizaje y realmente si no fuera por ustedes que tiene esa gentileza de ayudarnos a aprender una nueva herramienta, no sé que sería ya que sobre este lenguaje, no se consigue literatura en Venezuela, solo por internet de allí que nos toca aprender solos y solamente con las ayudas de ustedes.
De nuevo mil gracias..
Estoy trabajando con tus archivos y me sucede lo mismo que a ti, necesito comenzar a depurar el código y me vendría bien saber qué versión de Visual FoxPro estás utilizando.
Aguardo tu respuesta
Amigo Carlos:
La versión de Visual ]FoxPro es la 9, si necesita algo más solo avísame.
Un abrazo y saludos..
Si, lo supuse. Yo generalmente trabajo con la 7 y ayer me rompí la cabeza !
Ahora voy a instalar la 9 para poder ver tu código.
En cuanto tenga novedades te aviso.
Hola Carlos:
Espero que te encuentra bien, te agradezco que me oriente cual Visual FoxPro usar, escogí el 9 por tratarse de el último, de todas manera confío en ti por tu experiencia.
Un Abrazo...
Ramón
Ante todo te pido disculpas por la demora en la respuesta.
Como te lo comentara anteriormente instalé el VFP9 para analizar tu código y no he encontrado incoherencias.
La única línea de comandos que devuelve error es SET SYSMENU TO, y como siempre suele suceder en estos casos, el error está frente a nuestras propias narices y no lo vemos.
Paso a explicarte:
La instrucción "set sysmenu to" sin argumentos adicionales está incompleta.
Si deseas deshabilitar el menú debes poner set sysmenu off
Si lo que quieres es habilitar un menu la sintaxis debe ser set sysmenu to mymenu
Finalmente, si deseas reestablecer el menú de Visual FoxPro la sentencia será set sysmenu to default
Así que en tu programa corrige o elimina esa linea de programa y todo estará funcionando como debe.
Te reitero mis disculpas por la demora.
Apreciado Carlos:
Ante todo un gran saludo y sinceramente me da mucha pena contigo, pero la instrucción "SET SYSMENO TO" que es donde devuelve el error, no me aparece en ninguna parte del sistema a excepción del programa que genera el Visual FoxPro cuando se compila como es el programa mindustas.mpr, este archivo lo edité y le borré la sentencia "SET SYSMENU TO", y automáticamente la vuelve a generar cuando se compila el programa de menú mindustas.mnx
No sé que debo hacer al respecto, si no puedes ayudarme de todas manera estaré eternamente agradecido por tu empeño y tiempo que me dispensaste.
Un Abrazo y Saludos..
Ramón Rodirugez F.
Una verdadera quebradera de cabezas con algo tan simple...
Te copio textual la ayuda de VFP para el comando SET SYSMENU
SET SYSMENU controla la barra principal de menús de Visual FoxPro durante la ejecución de un programa, y permite quitar y restaurar de forma selectiva títulos de menú y menús del sistema de menús principal de Visual FoxPro.
Al ejecutar SET SYSMENU TO sin ningún argumento adicional se desactiva la barra de menús principal de Visual FoxPro.
En tu caso particular, como la ventana principal de Visual FoxPro está desactivada durante la ejecución de tu formulario mdi modal, es posible que el error se genere porque la ventana principal de Visual Foxpro no existe como objeto !
Es debido a ello que esta mañana te sugerí que, si bien el generador te pone la línea de programa, que le agregues el parámetro off para que no te de el error.
Eso es todo.
Lógicamente cada vez que ejecutes el generados de menús es probable que la línea se vuelva a crear.
Para evitar esto debes editar el menu mediante la instruccionón modify command seguida por el nombre del menu.
Como te comentara esta mañana, los archivos de código que me enviaste están bien. No obstante no pude probar la aplicación debido a la falta de algunos archivos de tu proyecto, bibliotecas de clases y otros.
De todas formas para depurar el código era más que suficiente!
Desde la lógica de la programación y el uso de la sintaxis no encontré otro inconveniente ademas del que ya te expuse.
Carlos:
Muchas Gracias por la ayuda prestada y disculpa tanta molestias ocasionadas..
Un abrazo y demás esta decirte que tienes un amigo acá en venezuela..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas