• Lunes 18 de Noviembre de 2024, 08:33

Autor Tema:  Mi apliacacion se cierra al cargarla  (Leído 3494 veces)

miguelc

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Mi apliacacion se cierra al cargarla
« en: Viernes 17 de Agosto de 2007, 12:08 »
0
:hola: 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

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Mi apliacacion se cierra al cargarla
« Respuesta #1 en: Viernes 17 de Agosto de 2007, 15:19 »
0
hola, mira bajate el proyecto que esta el mas pequeño que que es el visor de datos y fijate en el prg inicial ese prg llama a un form
que tiene dos propiedades una es showwindos = 2 y la otra no recuerdo bien. Para que no te suceda eso.
Espero te sirva.
Saludos,
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

edwin24x

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Mi apliacacion se cierra al cargarla
« Respuesta #2 en: Martes 28 de Agosto de 2007, 18:44 »
0
Cita de: "miguelc"
:hola: 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

chispi26

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Mi apliacacion se cierra al cargarla
« Respuesta #3 en: Lunes 22 de Marzo de 2010, 01:29 »
0
gente hay una forma mas simple sin realizar tanto codigo realizan un formulario nuevo con las sgtes propiedades

autocenter=.t.
borderstyle=1-fixed-single
caption=none
controlbox=.f.
maxbutton=.f.
minbutton=.f.
movable=.f.


y despues le añaden al formulario un control timer le ponen em la propierdad intervalo 3000 por ejemplo y en el procedimiento timer le ponen thisform.release asi de simple y desp le añaden todos los detalles que quieran a la pantalla como que diga sistema tal... cargando espere... etc
y nada mas ahora si desean llamar a la primera pantalla se realiza un programita que llame a este formulario ejemplo inicio.scx y listo