FoxPro/Visual FoxPro - ejecutar app desde formulario principal ejecutable

 
Vista:
sin imagen de perfil

ejecutar app desde formulario principal ejecutable

Publicado por Napoleon (5 intervenciones) el 09/06/2015 03:22:11
Hola, tengo un programa en foxpro 2.6 para windows, esta compuesto por un ejecutable y varios app, cada app tiene su propio menú el cual se abre en la ventana principal.
Ahora quiero pasar este programa a visual foxpro 9 y se me ha presentado un problema, hago un formulario principal y lo hago ejecutable desde el cual deseo correr los diferentes apps que tiene la aplicación; el problema es que al ejecutar el app, el programa principal de este app es el menú, a través de un botón de comando sale un error que dice que no puede abrir el menú. Si uno el formulario principal con todos los formularios y el menú de los apps no presenta error; pero no deseo así, porque si tengo que realizar un cambio en solo una aplicación, debo modificar todo el programa.
el programa debe funcionar así:
ejecutable .exe abre pantalla principal de la aplicación y tiene botones de comando para ejecutar los diferentes apps
Diferentes apps: ventas - compras - inventario - cada uno tiene su propio menú que se debe mostrar en el formulario principal.
Que debo hacer para que al ejecutar el app, el menú que es archivo principal del app se vea en el formulario principal, de antemeano gracias por su ayuda.
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
Imágen de perfil de Mauricio Antonio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

ejecutar app desde formulario principal ejecutable

Publicado por Mauricio Antonio (1541 intervenciones) el 09/06/2015 13:53:47
Prueba haciendo esto:
SET SYSM TO
DO miapp.app
Luego debes controlar cuando dejaras de usar el APP, en ese momento debes poner:
DO mi_menu_exe.mpr
Esto es para restaurar el menu del EXE.
Creo que deberia de funcionar
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
sin imagen de perfil

ejecutar app desde formulario principal ejecutable

Publicado por Napoleon (5 intervenciones) el 09/06/2015 14:41:13
Esto no funciona, el formulario principal no tiene menú, en el se debe mostrar el menú que se ejecuta desde el app.
Esto es lo que sucede: el formulario principal (de nivel superior) hay un botón de comando, el cual en el evento click tiene la instrucción DO mi_app.app; el error que sale es que el menú solo puede ser llamado desde un formulario de nivel superior. Si le cambio al menú la opción que es un menú para formulario de nivel superior, la instrucción no hace nada.
Sin embargo gracias.
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
sin imagen de perfil

ejecutar app desde formulario principal ejecutable

Publicado por Napoleon (5 intervenciones) el 09/06/2015 14:38:46
gracias por su colaboracion
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

ejecutar app desde formulario principal ejecutable

Publicado por Fidel José (558 intervenciones) el 09/06/2015 15:35:41
Si tus app son aplicaciones basadas en _screen, me parece que te conviene crearlos como ejecutable, en lugar de app.
Luego en el prg principal de la aplicacion, puedes poner un procedure con un código como el siguiente y desde le menú o botonera llamar al procedure, por ejemplo:
lcRuta="c:\sistemas"
get_prog(addbs(lcRuta)+"ventas.exe")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
PROCEDURE get_prog
		LPARAMETERS tcProgram
		* tcProgram must be addbs(path)+program.exe
		TRY
			LOCAL objCrea as Object , loFso as Object,;
				lcPath,lcProg,loex as Exception
			lcpath=JUSTPATH(tcprogram)
			lcProg=JUSTFNAME(tcProgram)
 
			ObjCrea=CREATEOBJECT("Shell.Application")
			loFso=NEWOBJECT("Scripting.FilesystemObject")
			IF loFso.fileexists(tcProgram)
				CD &lcPath
				ObjCrea.ShellExecute(lcProg, "", "", "open", 1)
			ENDIF
		CATCH TO loex
			loex.UserValue=PROGRAM()
			thisform.showerror(loEx)
		FINALLY
			objCrea=null
			loFso = null
		ENDTRY
 
	ENDPROC

El problema, en todo caso, es la ingeniería que necesitarás para cerrar la aplicación.

Alternativamente, puedes modificar los módulos para que se basen también en form principal. Tendrás que convertir los menús.
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
sin imagen de perfil

ejecutar app desde formulario principal ejecutable

Publicado por Napoleon (5 intervenciones) el 09/06/2015 16:06:10
Gracias por tu ayuda, pero no es la que busco, en la versión foxpro 2.6 para windows, el programa trabaja perfecto, ejecuto el archivo ejecutable, del cual su programa principal es un formulario de nivel superior, presenta la pantalla principal, presento diferentes botones de comando, entrar, salir, seguridad, creación de usuarios, y los botones para activar los APP. Si activo el app de ventas me presenta el menú de ventas en la pantalla principal, y hay una opcion para cerrar app y quita el menú sin cerrar la ventana principal, puedo escoger otro app, ya sea inventario o compras, es multiusuario, y mientras alguien esta en ventas otro puede estar en compras o inventario; de igual forma quiero que trabaje el programa en vfp 9.
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