Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Usar lockfile y unlockfile u otro para bloquear (https://www.clubdelphi.com/foros/showthread.php?t=65153)

MichelH 24-11-2009 20:00:20

Usar lockfile y unlockfile u otro para bloquear
 
Hola que tal espero se encuentren bien.

Pues andube buscando informacion al respecto y sip habia un hilo exactamente con mi misma pregunta pero lo que respondieron fue que revisaran el ejemplo que hizo Neftali en su sitio de ClubDelphi...
Pero no se si sea solo yo o que pasa con la paginas de los compañeros y el Wiki, que desde hace tiempo ya no se puede entrar.
Entonces aqui sigo solicitando ayuda sobre el tema, espero me puedan ayudar q ver como bloquear y desbloquear archivos. gracias.

Lo estoy utilizando para bloquear un archivo INI donde tengo un contador, y para evitar que se duplique numeros de solicitud, pues bloqueo mientras lo manipulo, pero me sale un error a la hora de utilizar el INI para obtener el consecutivo y para grabar el nuevo numero:

Código Delphi [-]
vFileCount  := ExtractFileDir( Application.ExeName )+'\COUNTPRE.INI';
     vFileHandle := CreateFile(PChar(vFileCount), GENERIC_READ, 0, {exclusive} nil, {security} OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
     vFileSize   := GetFileSize(vFileHandle,nil);
     while LockFile(vFileHandle,0,0,vFileSize,0) = False do;
     vIni := TIniFile.Create( vFileCount );
     try
        vCveSoli := StrZero( vIni.ReadInteger( 'Prestamo', 'CVESOLI'  , 0 ), 6 );
        vIni.WriteInteger( 'Prestamo', 'CVESOLI', StrToInt( vCveSoli ) + 1 );
        vIni.UpdateFile;
     finally
        vIni.Free;
     end;
     UnlockFile(vFileHandle,0,0,vFileSize,0);
     CloseHandle(vFileHandle);

juanelo 24-11-2009 23:28:01

No era necesario que crearas otro hilo igual.
Saludos

MichelH 25-11-2009 03:48:04

En el otro hilo no habia respuesta alguna por el problema, no veo porq no puedo exponer el mio

Neftali [Germán.Estévez] 25-11-2009 10:45:14

Cita:

Empezado por MichelH (Mensaje 347380)
En el otro hilo no habia respuesta alguna por el problema, no veo porq no puedo exponer el mio

En el otro hilo ya te he colocado el nuevo enlace donde puedes encontrar la información y el ejemplo. Si tienes algun problema ya dirás.


La franja horaria es GMT +2. Ahora son las 20:40:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi