Zitat von
moelski:
Könntest du mir mal ganz kurz erklären welche Rolle TEvent generell spielt?
Sehe ich das richtig, dass das eine Art Notifikation an den Thread ist, das neue Daten vorhanden sind?
Jupp
Ich würde TEvent aber weglassen oder zumindestens Folgendes in eine Schleife legen, welche solange arbeitet, bis keine Daten mehr in der Liste stehen oder bis Terminated = True.
Delphi-Quellcode:
PData := FDataClass.ExtractFirst;
if Assigned(PData) then
begin
try
Verarbeite(PData^);
finally
Dispose(PData);
end;
end;
Denn so würde die Liste nie vollständig abgearbeitet, wenn mal mehrere Einträge gleichzeitig in der Liste stehen, da immer nur ein Eintrag je "Signal" verarbeitet wird, da das Signal nach dem Entfernen eines Eintrages zurückgesetzt wird.