Ver Mensaje Individual
  #8  
Antiguo 15-10-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo usaría la opción de Caro, es la más prolija. Ahora, el que uses el Tag para otra cosa no es realmente un impedimento, basta añadirle un poco de imaginación al asunto . La propiedad Tag es un entero y, como tal, puede hacer las veces de apuntador, de manera que puedes definirte una estructura de datos con toda la información que requieras asociar al timer:

Código Delphi [-]
type
  PTimerInfo = ^TTimerInfo;
  TTimerInfo = record
    Indice: Integer;
    {
      aquí un campo por cada dato o referencia
      extra que requieras guardar
    }
  end;

Para asociar una de estas estructuras al timer:

Código Delphi [-]
var
  P: PTimerInfo;

begin
  New(P);
  P.Indice := 84;
  Timer84.Tag := Integer(P);
end;

Para usar la información contenida en el tag:

Código Delphi [-]
var
  P: PTimerInfo;

begin
  P := PTimerInfo(Timer84.Tag);
  ShowMessage(IntToStr(P.Indice));
end;

Y para liberar la memoria:

Código Delphi [-]
Dispose(PTimerInfo(Timer84.Tag));

Si te fijas, de hecho, en TTimerInfo puedes incluso guardar directamente la referencia al elemento que quieres actualizar, sin necesidad del índice.

// Saludos
Responder Con Cita