Hola a todo
Al generar una aplicación en el entorno de trabajo del visual foxpro 9 en windows xp funciona correctamente pero cuando ejecuto la aplicación fuera del entorno al cárgala formulario se cierra inmediatamente la aplicación, es un ingreso de una clave y un password que se verifica en una base de datos, por su ayuda muchas gracias
Aki te envio mi programa principal.prg, revisalo:
SET TALK OFF &&No los resultados de los comandos
SET CENTURY ON&&activa el año de 4 digitos
SET SAFETY OFF&&Especifica que no se muestre ningún cuadro de diálogo antes de sobrescribir un archivo existente
SET DATE BRITISH
SET CLOCK ON&&muestra el reloj en la esquina superior derecha de la ventana de vfp
*SET HOURS TO 24&&establece el formato de hora del relojo 12 ó 24
SET NOTIFY OFF
SET OPTIMIZE ON
CLOSE DATABASES
RELEASE ALL &&liber las variables y matrices de memoria
application.Visible=.f.
CLEAR
*** cargar módulo de entrada al sistema
PUBLIC cRuta1
cRuta1=SYS(5)+CURDIR()
SET DEFAULT TO (cRuta1)
SET PATH TO C:\exe,clases,class.bmp,graficos,icons,menu,prg &&Especificamos los directorios a buscar
IF DRIVETYPE(SYS(5))<>3&&verificamos si se esta ejecutando dentro de un disco duro local
MESSAGEBOX("No se puede iniciar el programa en unidades" + CHR(13)+;
"diferentes a discos duros locales",;
16,"Sistema Almacen")
RETURN
ENDIF
*** configurar entorno de trabajo
_screen.caption = "Sistema Mantenimiento Almacen"
*_screen.icon = "icon.ico"
_screen.Picture ="fondotrama.jpg"
_screen.windowstate = 2 && maximizar
_screen.AutoCenter = .T. &¢rado
SET MESSAGE TO "Sistema Mantenimiento Almacen"
SET SYSMENU OFF&&Deshabilita el menu
*//////////////
DO iniciopresen&&llama a la pantalla de inicio o presentacion
*/////////////
DO variables
*Ejecutando el form login
DO FORM login && registro de usuario
READ events
SET SYSMENU TO DEFAULT &&activa la configuración predeterminada de vfp
*//////////////////////////////////////////////////////////////////////////////////
PROCEDURE iniciopresen
PUBLIC oPresenta
oPresenta=CREATEOBJECT("Presenta","Sistema Almacen","Sistema Control Almacén")
oPresenta.show
*--- Para prueba espero 5"
INKEY(3)
opresenta.release
ENDPROC
****-------------------------
*Definimos la clase mediante programación
DEFINE CLASS Presenta as Form
ShowWindow=2
docreate = .t.
height = 124&&241&&definimos el alto
width = 496&&define el ancho
MaxButton=.F.
MinButton=.F.
borderstyle = 2
TitleBar = 0
windowtype = 0
desktop=.t.
autocenter = .T.
Picture = "presen.JPG"
name = "Presenta"
***---
PROCEDURE INIT
Lparameters tcTitulo,tcPresenta
SYS(2002)&&desactivamos el punto de inserción
this.crearobjetos(tcTitulo,tcPresenta)
If Not Empty(tcTitulo)
This.Caption=tcTitulo
EndIf
If Not Empty(tcPresenta)
This.lblPresenta.Caption=tcPresenta
ENDIF
This.Refresh
ENDPROC
*-------------------
PROCEDURE DESTROY
SYS(2002,1)
ENDPROC
*--------------
PROCEDURE crearobjetos
LPARAMETERS tcTitulo,tcPresenta &&recibe valores de esta funcion
this.AddObject("lblPresenta","Label")
WITH this.lblPresenta
.AutoSize=.T.
.Alignment=2
.Fontbold=.T.
.Fontsize=9
.Backstyle=0
.Caption= tcTitulo
.Height=40
.Left=290
.Top=-10
.Width=250
.Tabindex=1
.Forecolor=Rgb(255,0,0)
.Name="lblPresenta"
.Visible= .T.
ENDWITH
this.AddObject("lblEspera","Label")
WITH this.lblEspera
.AutoSize=.T.
.Alignment=2
.Fontbold=.T.
.FontName="Arial"
.Fontsize=12
.Backstyle=0
.Caption=""
.Height=20
.Left=150
.Top=110
.Width=200
.Tabindex=2
.Forecolor=Rgb(255,0,0)
.Name="lblEspera"
.Visible= .T.
ENDWITH
this.AddObject("lblDerechos","Label")
WITH this.lblDerechos
.AutoSize=.T.
.Fontbold=.T.
.FontName="Arial"
.Alignment=2
.Fontsize=8
.Backstyle=0
.Caption="Derechos Reservados Edwin J.C. 2007-2008"
.Height=20
.Left=25
.Top=108
.Width=200
.Tabindex=3
.Forecolor=Rgb(255,0,0)
.Name="lblDerechos"
.Visible= .T.
ENDWITH
ENDPROC
ENDDEFINE
*************************
Lo ke hace este prg es crea el entorno de la aplicación, llama a un formulario de presentación creado con la clase form, se visualiza por 3 segundos, luego llama al form login para ingresar a tu sistema.
Con este prg no tendras problemas al cambiar de carpeta tu aplicación.
Cualkier duda:
edwin24x@hotmail.com