Hola Julián,
Correcto, son dos cosas.
En cuanto a la primera mi duda es saber si tanto el timer como la api de windows se dan por enterados de que un archivo determinado se ha modificado o no desde que se lanza una instrucción write o solo se enteran en el momento en que se hace una instrucción flush del bufer a volcar a disco. (Esto tengo pendiente de probar en cuanto pueda).
En lo referente al segundo punto, pues no hay ninguna duda todo está claro.
En el mensaje #13 puse el codigo que estoy utilizadno, que no es que me de un error, sino que simplemente no funciona bien cuando desde el momento en que se hace un write para escribir el log si no se vuelca inmediatamente la línea a disco (con un flush) el código no se entera de que se ha enviado mas datos al archivo de log.
Aqui te pongo un enlace a la función flush a ver si se entiende mejor lo que quiero comentar :-) :
http://www.delphibasics.co.uk/RTL.asp?Name=Flush
Cita:
Empezado por Julián
Pues yo entiendo que son dos cosas distintas:
1. Saber cuando determinado archivo *.log ha sido modificado.
2. leer la ultima(s) líneas
Para 1 puedes usarse un timer o el api de windows, y creo que hemos quedadi que lo mas elegante y correcto es el api de win.
Para 2 pues puedes echar mano de cualquier funcion de leer archivos que tenga el delphi, tal como indican algunos ejemplos que nos han puesto en este mismo hilo.
Lo que puedes hacer es poner aquí el cóodigo que te da error a ver que tal, pues con eso del flush no entiendo muy bien que es lo que te falla.
Un saludo!
|