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

C++ Builder11.3中TFDGUIxLoginDialog标题不生效及修改、安全疑问

C++ Builder 11.3 FireDAC登录对话框问题解决

一、自定义标题不生效的原因及解决

  • 先确认TFDConnection的LoginDialog属性已绑定到数据模块的TFDGUIxLoginDialog组件:可视化设计时在对象 inspector 里将LoginDialog下拉选择对应组件,或代码中手动赋值(如FDConnection1->LoginDialog = DataModule1->FDGUIxLoginDialog1;),未绑定会调用FireDAC默认对话框,标题固定为“FireDAC Login”。
  • 检查TFDGUIxLoginDialog的Title属性是否设置了自定义文本:设计时在属性面板输入标题,或运行前赋值FDGUIxLoginDialog1->Title = L"我的数据库登录";。
  • 排除全局设置干扰:若FDManager的GUIx设置指定了默认登录对话框,会覆盖局部配置,可在FDManager属性中将LoginDialog设为nil,让TFDConnection的局部设置生效。

二、修改对话框图标及“Enter your credentials”文本

  • 修改图标:在TFDGUIxLoginDialog的属性面板找到Icon属性,点击右侧按钮选择本地.ico文件;也可运行时通过FDGUIxLoginDialog1->Icon->LoadFromFile(L"path/to/your/icon.ico");加载。
  • 修改提示文本:
    1. 设计时:在TFDGUIxLoginDialog的属性面板找到CustomMessage属性,输入自定义文本(如“请输入数据库登录信息”),会直接覆盖默认提示。
    2. 运行时:在对话框显示前(比如TFDConnection的BeforeConnect事件中)赋值FDGUIxLoginDialog1->CustomMessage = L"请输入登录凭据";。
      注:若找不到CustomMessage属性,也可在对话框OnShow事件中直接定位到提示标签控件修改其Caption,不建议修改FireDAC全局资源字符串(会影响所有登录对话框)。

三、对话框安全性确认

FireDAC的TFDGUIxLoginDialog是官方针对数据库登录场景设计的专用组件,安全性可放心:

  • 密码输入框采用掩码模式,不会明文显示;
  • 输入的密码仅传递给TFDConnection的连接参数,不会向其他组件或外部泄露;
  • FireDAC对连接参数中的密码采用加密存储(FDConnection.Params.Password为加密状态,仅在建立连接时临时解密),不会在内存中长期留存明文;
  • 对话框关闭后,临时输入的密码数据会被及时清理,不存在随意留存的风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 22:42:22