Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Wert an OnTimer Event übergeben

  Alt 15. Mai 2007, 09:33
Ich rate mal:

Du hast ein Array of TTimer und alle diese Timer haben eine OnTimer-Prozedur. In dieser Prozedur willst du auf MeineForms : array of TForm (nur geraten ) zugreifen, weißt haber nicht welcher Timer dieses Event gerade abgefeuert hat.

Wenn dem so ist, ist hier mein Vorschlag wie man das sauber löst:
Delphi-Quellcode:
type
  TMyFormTimer = class(TTimer)
  private
    FForm : TForm;
  public
    constructor Create(AOwner: TComponent; AForm : TForm);

    property Form : TForm read FForm;
  end;

//...

constructor TMyFormTimer.Create(AOwner: TComponent; AForm : TForm);
begin
  inherited Create(AOwner);

  FForm:=AForm;
end;

//deine bisherige OnTimer-Prozedur
procedure OnTimer(Sender : TObject);
begin
  if Sender is TMyFormTimer then
    TMyFormTimer(Sender).Form.MachWasMitDemForm;
end;
Natürlich muss du jetzt ein Array of TMyFormTimer nutzen und auch TMyFormTimer-Objekte erzeugen.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat