FoxPro/Visual FoxPro - Problema con aplicacion

 
Vista:

Problema con aplicacion

Publicado por Alberto (48 intervenciones) el 16/09/2006 16:13:11
Hola a todos, el problema es el siguiente:
He creado un acceso directo a mi aplicacion, cuando ingreso por primera vez por medio del acceso directo funciona correctamente, pero si quiero ingresar nuevamente por el acceso directo (estando ya abierto el sistema), me sale el siguiente error:
"Error al cargar el archivo - numero de registro 5. Form1 <o uno de sus miembros> Cargando el formulario o el entorno de datos.: Denegado", creo que el error sale por que no puede abrir el sistema mas de una vez, como puedo hacer que en vez que salga ese error, poner un mensaje diciendo: El sistema ya se encuentro abierto.

NOTA: El sistema no está en red, solo en una determinada pc.

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
sin imagen de perfil

RE:Problema con aplicacion

Publicado por jesus cordero (405 intervenciones) el 16/09/2006 19:36:13
yo te envie un resumen de la rutina para solucinar tu problema, te envio la rutina completa:

Evitar que un programa activado desde VFP se cargue más de una vez

Un ejemplo sencillo es el de la calculadora de Windows.

Imaginemos que en nuestra aplicación demos la posibilidad de utilizar la calculadora. Pondríamos una línea come esta:

RUN /N CALC.EXE

Pero si esta línea la ejecutamos más de una vez, se cargarás la calcuadora una y otra vez.

* Antes de activar la calculadora:
IF NOT F_ActivaWin("Calculadora")
* La calculadora no está cargada:
RUN /N CALC.EXE
ENDIF

* Y ESTA ES LA FUNCION QUE LO HACE TODO:
*-----------------------------
FUNCTION F_ActivaWin(cCaption)
*-----------------------------
LOCAL nHWD
DECLARE INTEGER FindWindow IN WIN32API ;
STRING cNULL, ;
STRING cWinName

DECLARE SetForegroundWindow IN WIN32API ;
INTEGER nHandle

DECLARE SetActiveWindow IN WIN32API ;
INTEGER nHandle

DECLARE ShowWindow IN WIN32API ;
INTEGER nHandle, ;
INTEGER nState

nHWD = FindWindow(0, cCaption)
IF nHWD > 0
* VENTANA YA ACTIVA
* LA "LLAMAMOS":
ShowWindow(nHWD,9)

* LA PONEMOS ENCIMA
SetForegroundWindow(nHWD)

* LA ACTIVAMOS
SetActiveWindow(nHWD)
RETURN .T.
ELSE
* VENTANA NO ACTIVA
RETURN .F.
ENDIF

Jesus Cordero
Caracas - Venezuela
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

RE:Problema con aplicacion

Publicado por Plinio (7841 intervenciones) el 16/09/2006 20:23:49
Pon en tu aplicacion SET EXCLUSI OFF pues las tablas se estan habierndo exclusivas en algun momento y por eso el error.
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