![]() |
warum mach showmessage probleme?
Delphi-Quellcode:
Sound, Messag und Msg_Sound sind konstante
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; 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? |
Re: warum mach showmessage probleme?
Zitat:
Beispiel: Zitat:
Delphi-Quellcode:
Wie oft trifft denn die if-Bedingung zu? Dann weißt du auch, wieviele Einträge die Lst_done mindestens hat.
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]); //<--- hier! Lst_todo.Items.Delete(i); end; |
Re: warum mach showmessage probleme?
nein, bei der lst_todo kam der fehler...
aber es funzt auf einmal, dabei hab ich eigentlich gar nix geändert :gruebel: :gruebel: |
Re: warum mach showmessage probleme?
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz