domingo, 16 de febrero de 2020

VFP Evitar Programa se Ejecute dos Veces


VFP Evitar Programa se ejecute dos Veces, este tema nos da la oportunidad de evitar que este tipo de situaciones ocurran y causen errores en el sistema. Esta función nos permitirá evitar este tipo de situaciones en el futuro. Con esta sencilla instrucción EJECUTAR /N nombre de programa.EXE, estaremos evitando que el programa se cargue más de una vez.



IF NOT F_ActivaWin("Calculadora")
    * Verifica que la calculadora no este cargada:
    RUN /N NOMBREDELPROGRAMA.EXE   
ENDIF

* Esta función se encarga de evitar la duplicidad del programa
*-----------------------------
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)


Otra alternativa para evitar este problema sería crear un archivo y crear una variable el cual nos indique si esta activa o no. En la ventana del Command de VFP Creamos el nombredelarchivo con la variable ACTIVA de tipo logic y guardamos los valores. Luego en la misma ventana del command utilizamos el replace ACTIVA with .t., ahora crearemos un prg en donde ejecutaremos el siguiente código:

Ejemplo

use nombredelarchivo alias nombredelarchivo
go top
xavtiva=activa
if xactiva=.t.
   messagebox("El programa ya fué cargado.",0+64,"Aviso")
  return .f.
else
  RUN /N CALC.EXE
endif

Cuando salgas del sistema deberás colocar la variable ACTIVA en falso nuevamente para que el programa se pueda ejecutar, utilizando la instruccion replace ACTIVA with .f.

1 comentarios:

  1. Strange "water hack" burns 2 lbs overnight

    Well over 160,000 men and women are using a easy and SECRET "liquids hack" to burn 1-2 lbs each and every night while they sleep.

    It is easy and it works every time.

    This is how to do it yourself:

    1) Go get a clear glass and fill it half the way

    2) Now follow this weight loss HACK

    so you'll become 1-2 lbs thinner the very next day!

    ResponderEliminar