PDA

Ver la Versión Completa : Bloquear registro en fichero binario


jonmendi
13-11-2007, 15:20:37
Hola,
estoy haciendo una pequeña aplicación en la que tengo un fichero binario del que voy leyendo escribiendo (blockread / blockwrite). En este mismo archivo escribe otra aplicación (que no puedo controlar, no tengo fuente). Esa otra aplicación y la mía comparten información a través de este fichero. Lo que quiero es bloquear el registro en el que voy a a escribir para asegurarme que no lo hace la otra aplicación.
Sé que puedo bloquear el fichero entero al abrirlo con filemode = fmShareExclusive , pero no sé como hacerlo para limitar el bloqueo a un único registro y que los demás puedan seguir escribiendo en el fichero.

¿Agluna idea?
Muchas gracias!
Jon

PD: algo del estilo lock / unlock de visualbasic: http://msdn2.microsoft.com/es-es/library/w804hcwf(VS.80).aspx

Neftali [Germán.Estévez]
13-11-2007, 16:30:57
En la sección de ejemplos de esta página (http://neftali.clubdelphi.com/), hay uno titulado "API LockFile para detectar instancias de aplicación activas en red"; Aunque en ese ejemplo esta API se usa para este fin concreto, en realidad lo que hace es detectar accesos concurrentes a posiciones de un fichero.

Está con todo el código disponible, así que puedes echarle un vistazo a ver si te es útil.

jonmendi
13-11-2007, 16:57:50
muchísimas gracias neftali!
me pongo a ello ya. Si consigo algo lo pongo aquí.

Un saludo,
Jon

PD: por cierto, ¿los moderadores dormís? contestáis tan rápido que empieza a dar miedo....:D

Neftali [Germán.Estévez]
13-11-2007, 17:16:31
¿los moderadores dormís? contestáis tan rápido que empieza a dar miedo...

Noooooo; Cuando te haces moderador te dan un reloj que te suena una alarma cuando alguien postea un mensaje....:D:D:D:D