FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TIMER
Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
TIMER
Posted: Wed Nov 15, 2006 06:52 AM

Buenos d铆as foro:

Tengo 1 m谩quina con dos sesiones abiertas de MS-DOS, en una de ellas ejecuto el programa que a continuaci贸n os propongo, en la otra sesi贸n genero el fichero que necesita la primera sesi贸n. Bueno, pues el timer se vuelve loco. Espero haberme explicado correctamente:

// This sample shows how to call a function in an interval time.

include "FiveWin.ch"

static oWnd
/----------------------------------------------------------------------------//
function Main()
local oTmr
DEFINE WINDOW oWnd TITLE "Checking File"
DEFINE TIMER oTmr INTERVAL 1 ACTION CheckFile(oTmr) OF oWnd
ACTIVATE TIMER oTmr
ACTIVATE WINDOW oWnd ICONIZED

return nil

//----------------------------------------------------------------------------//

function CheckFile(oTmr)

if file ("c:\pruebras.txt")
oTmr:Deactivate
waitrun("apertura.exe") <--Este programa no tarda nada en ejecutarse
ferase("C:\pruebas.txt")
oTmr:Activate
endif
return nil

//Como podeis observar este programa lo 煤nico que hace es estar observando si existe un fichero en un sitio determinado, bueno pues cuando existe no para de ejecutar <apertura.exe>[/b]

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
TIMER
Posted: Wed Nov 15, 2006 09:09 AM
Mike,

Prueba as铆:
function CheckFile(oTmr) 

   static lFound := .f.

   if ! lFound .and. file ("c:\pruebras.txt") 
      lFound = .t.
      oTmr:Deactivate 
      waitrun("apertura.exe") <--Este programa no tarda nada en ejecutarse 
      ferase("C:\pruebas.txt") 
      oTmr:Activate 
      lFound = .f.
   endif 

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
TIMER
Posted: Wed Nov 15, 2006 11:46 PM

Buenas noches Antonio:

 Solo quer铆a decirte que funcion贸 correctamente, lo que si te pediria, cuando tengas tiempo, me digas que diferencias existe entre crear lfound como local en el main y pasarselo por referencia a checkfile (este caso no funciona) y generarla como static dentro de checkfile

UN SALUDO y muchas gracias ante todo

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
TIMER
Posted: Thu Nov 16, 2006 10:29 AM

Mike,

Al declararla static dentro de la funci贸n se reusa su valor para multiples llamadas.

Las variables locales se crean en la pila, y se crean y se destruyen para cada llamada, luego no puedes usarlas para ese prop贸sito.

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion