Ich spiele Gerade mal wieder mit dem https://wiki.lazarus.freepascal.org/TTaskDialog
Nach diesem Bsp will ich mir einen Dialog aufbauen.
Soweit auch alles IO, aber aus einem mir unerklärlichen Grund wird das ModulResult entweder nicht gesetzt oder übergeben.
Hier die Procedure, welche ich entsprechend aufgebaut habe.
Code: Alles auswählen
procedure tform1.vergangen_itemclick(sender :tobject);
var
a : Byte;
begin
For a := 0 to 9 do begin
if (FileExists(Set_FileName(Tages_Ausloese.PConst.fExt + PathDelim +
Tages_Ausloese.fYear.Benutzer + PathDelim +
IntToStr(Tages_Ausloese.fYear.Yaer),
Tages_Ausloese.PConst.fProg, false, false))) then begin
with Jahr_DLG do begin
with TTaskDialogButtonItem(Buttons.add) do begin
Caption := IntToStr(Tages_Ausloese.FYear.Yaer);
ModalResult := Tages_Ausloese.fYear.Yaer; <--- Setzt ModalResult mit entsprechendem Jahr.
end;
end;
dec(Tages_Ausloese.FYear.Yaer);
end;
end;
if Jahr_DLG.Execute then begin
Caption := IntToStr(ModalResult);
if ModalResult = 2022 then begin
Day.ItemUser := Tages_Ausloese.fBenutzer.Name + ' ' + Tages_Ausloese.fBenutzer.Lastname;
StatusBar1.Panels.Items[0].Width := StatusBar1.Canvas.TextWidth(Tages_Ausloese.PConst.fFilename)+20;
StatusBar1.Panels.Items[0].Text := Tages_Ausloese.PConst.fFilename;
Caption := Prog_Caption + IntToStr(ModalResult);
// Caption := Prog_Caption + IntToStr(Tages_Ausloese.fYear.Yaer) + '. Benutzer: ' + Day.ItemUser;
ReloadItem.Click;
end;
end;
end;
Da ModalResult ja laut Definition Werte von low(Integer) bis high(Integer) enthalten kann, sollte es ja nominell problemlos möglich sein, Werte größer 2020 zu verwenden.