Hallo liebe Community,
ich habe (mal wieder) ein Problem. Ich arbeite an einem Kalender, in den man Termine eintragen kann. Soweit so schön. Jedoch erhalte ich eine Fehlermeldung (siehe Anhang). Diese Fehlermeldung tritt in folgendem Abschnitt auf:
Delphi-Quellcode:
if (length(VonDatum.Text)>=8) and (length(VonZeit.Text)>=3) and
(Beschreibung.Text<>'') and (((Geburtstag.Checked=true) and
(length(Geburtsjahr.Text)=4)) or (Geburtstag.Checked=false)) then
begin
Form3.Hide;
vDatum:=VonDatum.Text;
bDatum:=BisDatum.Text;
vZeit:=VonZeit.Text;
bZeit:=BisZeit.Text;
//showmessage('');
setlength(Form1.Termine,length(Form1.Termine)+1);
with Form1.Termine[length(Form1.Termine)] do
begin
VonTag:=T(vDatum);
VonMonat:=M(vDatum);
VonJahr:=J(vDatum);
if bDatum<>'' then
begin
BisTag:=T(bDatum);
BisMonat:=M(bDatum);
BisJahr:=J(bDatum);
end;
Wiederholung:=Form3.Wiederholung.ItemIndex;
Beschreibung:=Form3.Beschreibung.Text;
end;
Beschreibung.Clear;
BisDatum.Clear;
BisZeit.Clear;
Geburtsjahr.Text:='Geburtsjahr';
Geburtsjahr.Font.Color:=clGray;
Geburtstag.Checked:=false;
VonDatum.Clear;
VonZeit.Clear;
Wiederholung.ItemIndex:=-1;
Form1.Show;
end
else
showmessage('Fehler! Bitte alle Felder korrekt ausfüllen!');
Das Kuriose daran: Der Fahler tritt nur auf, wenn ich die showmessage rausnehme!
Woran liegt das? Kann mir da jemand helfen? Application.ProcessMessages oder sleep hilft nichts.
Liebe Grüße
loirad
PS.: Anbei das Projekt für besseres Verständnis.