Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   Lock de c# en Delphi .net (https://www.clubdelphi.com/foros/showthread.php?t=35026)

jescar 29-08-2006 15:13:42

Lock de c# en Delphi .net
 
que tal amigos estoy intentando realizar un juego de multiples jugadores y para ello estoy implementando hilos y sockets, pero tengo un problema soy nuevo en Delphi .NET y he trabajdo con c# y he usado el LOCK para bloquear cierta parte de codigo y lograr una mayor atomicidad.

pero no se como se utiliza en delhpi.net o si existe como implementarlo, me pueden brindar un lugar o un ejemplo de como implementar el lock en delphi.net

mamcx 29-08-2006 16:17:52

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

jescar 06-09-2006 15:08:38

Gracias
 
Gracias por tu ayuda, me ha servido mucho el uso de los locks ya que no sabia como hacerlo.

telo agradezco


La franja horaria es GMT +2. Ahora son las 14:00:28.

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