delphi – TTaskDialog.Execute总是返回True,甚至点击取消
在Delphi XE2 / XE3中执行以下代码
with TTaskDialog.Create(Self) do begin try if Execute then ShowMessage('Success') else ShowMessage('Failed'); finally Free; end; end; 无论您点击什么按钮关闭对话框,显示的消息始终是成功. Delphi文档写成TTaskDialog.Execute为
解决方法
看来文档不正确,这是TTaskDialog.Execute方法的执行流程:
如您所见,只有当 要评估对话框的结果,必须使用 with TTaskDialog.Create(Self) do begin try if Execute then case ModalResult of mrYes : ShowMessage('Success'); mrCancel : ShowMessage('Cancel'); else ShowMessage('Another button was pressed'); end; finally Free; end; end; 注意:如果使用关闭按钮关闭对话框,则会在ModalResult属性中返回mrCancel值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |