Ver Mensaje Individual
  #5  
Antiguo 15-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
Bueno, sólo era necesario la manera en que construir el timer y la declaración del procedure Eso sí, podrías haberlo encerrado entre las etiquetas [ delphi ] y [ /delphi ] (sin espacios)

Referente a tu problema es que, si te fijas la declaración de un evento OnTimer es la siguiente:

Código Delphi [-]
procedure OnTimer(Sender: TObject);

Es decir, el parámetro que espera un objeto, no un integer como tu tienes. La variable que necesitas pasarle, podría ser una propiedad privada del objeto y así, desde dónde necesites (evento OnTimer) usarla

Y la forma de asignar el evento sería algo así:

Código Delphi [-]
constructor cAscensor.Crear(NumPlantas, PlantaActual, PlantaDestino: Integer; Grid: tStringGrid);
begin
  inherited Create;

  self.NumPlantas := NumPlantas;
  self.PlantaActual := PlantaActual;
  self.PlantaDestino := PlantaDestino ;
  PanelInterno := cPanelInterno.Create ((self as cSujeto), Grid, NumPlantas);
  PanelInterno.parent := Grid;
  PanelInterno.BoundsRect := Grid.CellRect (0,NumPlantas - PlantaActual);
  PanelInterno.SetPisoSelected (NumPlantas - PlantaActual);
  self.Grid := Grid;
  Timer := tTimer.Create (Grid);
  Timer.Enabled := False;
  Timer.OnTimer := Llamar;
  Timer.Interval := 1000;
end;

y la definición de Llamar...

Código Delphi [-]
procedure Llamar(Sender: TObject);

Espero te sirva
Responder Con Cita