Einzelnen Beitrag anzeigen

NeoXan
(Gast)

n/a Beiträge
 
#1

Von Pointern und Timern (Problem mit Sender)

  Alt 12. Sep 2004, 12:20
Moin moin,

Delphi-Quellcode:
type
 TData = Record
  tmrDestroy : TTimer;
 end;
 Data = ^TData;
DummyList ist einfach nur TList...und KillDummy ist das OnTimer Event von tmrDestroy.
Delphi-Quellcode:
procedure TDummy.KillDummy(Sender: TObject);
var i: integer;
    pDummy: Data;
begin
 for i := 0 to DummyList.Count-1 do
  begin
   pDummy := DummyList[i];
   if Sender = pDummy^.tmrDestroy then
    begin
     pDummy^.tmrDestroy.Enabled := false;
     pDummy^.tmrDestroy.Free;
     DummyList.Delete(DummyList.IndexOf(pDummy));
     Dispose(pDummy);
    end;
  end;
end;
Das Problem ist jetzt, wie kann ich herausfinden, welcher Pointer das OnTimer Event aufgerufen hat. Bis jetzt klappt es ganz gut, WENN es sich nur um einen Pointer handelt. Sobald aber mehrere in der Liste sind kommt ein Listindex out of bounds...da ja ein Pointer schon gelöscht wurde.

Also wie könnte man herausbekommen, welcher Pointer in der Liste DummyList das onTimer Event aufgerufen hat?

mfg
NeoXan
  Mit Zitat antworten Zitat