TTaskDialog: fix Result value of Execute method:

- previously it returned True if the dialog succeeded to show, even if the dialog was cancelled.
- now it is False if the dialog is canceled.
- See https://docwiki.embarcadero.com/Libraries/Alexandria/en/Vcl.Dialogs.TCustomTaskDialog.Execute
This commit is contained in:
Bart 2023-07-28 16:31:29 +02:00
parent 0804282d52
commit cbd7579c15

View File

@ -147,7 +147,7 @@ begin
FQueryResult := '';
ButtonID := TWSTaskDialogClass(WidgetSetClass).Execute(Self, ParentWnd, ARadioRes);
FModalResult := ButtonIDToModalResult(ButtonID);
Result := (ButtonID >= 0);
Result := (ButtonID >= 0) and (ModalResult <> mrCancel);
if (ARadioRes >= TaskDialogFirstRadioButtonIndex) and (aRadioRes-TaskDialogFirstRadioButtonIndex < RadioButtons.Count) then
FRadioButton := RadioButtons[ARadioRes-TaskDialogFirstRadioButtonIndex] as TTaskDialogRadioButtonItem
else