You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi 11.1中MessageDlg自定义按钮文本功能无法实现求助

Delphi 11.1 MessageDlg自定义按钮正确用法
  • 确保你引用的是Vcl.Dialogs单元中的MessageDlg函数,FMX版本的重载逻辑不同。

  • 正确触发自定义按钮重载的关键:第三个参数Buttons必须传入mbCustom,否则编译器会匹配到其他不支持自定义按钮的重载版本。

  • 完整调用示例:

    var
      SelResult: Integer;
    begin
      // 传入mbCustom作为Buttons参数,最后跟上自定义按钮的字符串数组
      SelResult := MessageDlg('请选择操作类型', mtInformation, mbCustom, 0, ['确认执行', '返回修改', '查看说明']);
      case SelResult of
        0: ShowMessage('选择了确认执行');
        1: ShowMessage('选择了返回修改');
        2: ShowMessage('选择了查看说明');
      end;
    end;
    
  • 常见错误排查:

    • 检查Buttons参数是否为mbCustom,这是调用该重载的必要条件。
    • 确认单元引用:VCL项目需引用Vcl.Dialogs,FMX项目自定义按钮需使用TDialogServiceAsync等组件实现,逻辑与VCL不同。
    • 字符串数组元素数量无限制,3个元素完全合法。

如果严格按照上述写法仍报错,才可能是参数提示的问题,但绝大多数情况是参数组合不符合重载要求导致的。

内容的提问来源于stack exchange,提问作者John Barrat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 10:13:29