Also ich habe sowas mal Programmiert:
Ein Thread der im OnExecute folgendes drin hat:
Delphi-Quellcode:
while not Terminated do
begin
if Now > FAlarmDateTime then
begin
Synchronize(tfMain.AlertProzedur);
Self.Suspend;
end;
Sleep(200);
end;
EDIT: Beendet wird er von ausserhalt, FAlamDateTime wird nämlich vom Hauptprogramm aus manuell neu gesetzt (Erinnerungsfunktion für Termine usw.)