![]() |
Fehler TTaskDialog tfVerificationFlagChecked
Ich hätte jetzt echt den TaskDialog von Delphi mit einen Checkbox gebraucht,
habe aber festgestellt, dass dieser in Delphi 11.2 nicht funktioniert.
Delphi-Quellcode:
Nur leider wird das Flag einfach nicht gesetzt.
procedure TFrmMain.ErrorDialog(var AShowAgain: Boolean);
Var LTaskDialog: TTaskDialog; begin LTaskDialog := TTaskDialog.Create(Application); try LTaskDialog.Caption := 'Caption: Proc...'; LTaskDialog.Text := 'Fehlertext'; LTaskDialog.VerificationText := 'Diesen Fehler nicht mehr anzeigen'; LTaskDialog.CommonButtons := [TTaskDialogCommonButton.tcbOk]; LTaskDialog.MainIcon := tdiInformation; //LTaskDialog.Flags := [tfAllowDialogCancellation, tfVerificationFlagChecked]; // bringt nichts. Flags bleiben genau so, egal ob checked oder nicht TaskDialog.Execute; AShowAgain := (TTaskDialogFlag.tfVerificationFlagChecked in LTaskDialog.Flags); // Flag ist nicht gesetzt finally LTaskDialog.Free; end; end; Auch eine Initialisierung mit Setzen des Flags vor dem Execute bringt nichts. Einen Fehler habe ich in der VCL ja gefunden:
Delphi-Quellcode:
Müsste eigentlich so sein:
procedure TCustomTaskDialog.DoOnVerificationClicked(Checked: Boolean);
begin if Assigned(FOnVerificationClicked) then begin if Checked then Include(FFlags, tfVerificationFlagChecked) else Exclude(FFlags, tfVerificationFlagChecked); FOnVerificationClicked(Self); end; end;
Delphi-Quellcode:
procedure TCustomTaskDialog.DoOnVerificationClicked(Checked: Boolean);
begin if Checked then Include(FFlags, tfVerificationFlagChecked) else Exclude(FFlags, tfVerificationFlagChecked); if Assigned(FOnVerificationClicked) then FOnVerificationClicked(Self); end; Das Flag wird nur gesetzt, wenn ich dem Ereignis OnVerificationClicked eine Methode zuweise. Dachte ich, habe ich also gemacht und im Debugger sehe ich auch, dass Include(FFlags, tfVerificationFlagChecked) ausgeführt wird. Trotzdem ist das Flag nach dem Execute wieder weg.:shock: Da ich noch 11.2 nutze die Frage in die Runde: Ist das evtl. in 11.3 schon behoben? Dann würde ich evtl. ein Update versuchen. Danke Frank |
AW: Fehler TTaskDialog tfVerificationFlagChecked
Sorry, gestern war ich wohl blind:oops:
Ich hatte noch eine TaskDialog - Komponente auf dem Formular. Ich hätte nur anstatt TaskDialog.Execute LTaskDialog.Execute schreiben müssen. Tut mir leid, hat sich erledigt... Frank |
AW: Fehler TTaskDialog tfVerificationFlagChecked
Es scheint, dass das Flag nur innerhalb des OnVerificationClicked-Events gesetzt wird – hast du geprüft, ob das Event korrekt zugewiesen ist und nicht überschrieben wird?
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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