Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

warum mach showmessage probleme?

  Alt 7. Jan 2005, 10:53
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var t:TStringDynArray;
    i:integer;
begin
  for i:=Lst_todo.Count-1 downto 0 do
    begin
    t:=Explode(' - ',Lst_todo.Items[i]);
    if time-StrToTime(t[0])>0 then
      begin
      if t[2]=Sound then Snd else
      if t[2]=Messag then Msg(t[1]) else
      if t[2]=Msg_Sound then Snd_Msg(t[1]);
      Lst_done.Items.Add(Lst_todo.Items[i]);
      Lst_todo.Items.Delete(i);
      end;
    end;
end;
Sound, Messag und Msg_Sound sind konstante
Snd, Msg und Snd_Msg sind procedures

die zerlegung per explode funzt wies sie soll, aber bei 2 oder mehr einträgen die abgearbeitet werden müssen kommt ne meldung, wie wenn man versucht auf Lst_done.Items[2] zuzugreifen obwohl die nur 1 eintrag hat....
vorher wird die showmessage(die wird in Msg aufgerufen) aber auch zu oft gemacht, also bei 2 sachen kommt die min. 3 mal....

woran liet das?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat