Ver Mensaje Individual
  #2  
Antiguo 29-08-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Lock es una palabra clave de C#, pero se emula de esta manera, tal como lo he hecho para el proyecto MUTIS que es un port de dotLucene (C#) a Delphi:

http://svn.sourceforge.net/viewvc/mu...as?view=markup

Mira la clase TThreadLock. Tambien la clase TThreadClass te puede ser util.

Como se usa? Asi:

Código Delphi [-]
  TSupportClass.TThreadLock.LockObject(INSTANCIA OBJETO A BLOQUEAR);
  try
     ..codigo
  finally
    TSupportClass.TThreadLock.ExitLock(INSTANCIA OBJETO A BLOQUEAR);
  end; //try

Nota que no necesitas instanciar la clase de bloqueo porque usa metodos de clases, como si fueran funciones.

La razon de usar una clase de utileria es facilitar el porteo de codigo. Si no te interesa, una forma mas directa:

Código Delphi [-]
  Monitor.Enter(ObjectToLock);
  try
     ..codigo
  finally
    Monitor.Exit(LockedObject);
  end; //try
__________________
El malabarista.
Responder Con Cita