一个关于如何重编译VCL组件库的问题
问题的缘由:
MessageDlg('请确认: 是否等待人工处理, 然后继续.' + #13#10 +
                   '[是   - 等待,并继续执行]' + #13#10 +
                   '[否   - 继续其他处理   ]' + #13#10 +
                   '[停止 - 终止程序,并退出]', mtError,
                   [mbRetry, mbIgnore], 0);在程序运行时: 显示的Button按钮是英文的。因客户要求要改为中文的。
我的做法是: 
     想找到包含: Consts.pas 文件安装包. 修改Consts.pas文件然后重新编译.安装到系统中.不知这种方法可行否!望GGDDJJMM指教.

解决方案 »

  1.   

    重新编译Vcl(转贴)
    1。修改好源代码
      2。从delphi\lib拷贝controls.res到delphi\source\vcl
      3。运行dcc32 stdCtrls.pas
      4。删除delphi\source\vcl目录下的controls.res(千万不要删除delphi\lib目录下的)
      5。在delphi\source\vcl目录下产生的stdCtrls.dcu拷贝到delphi\lib目录下
        注意:备份delphi\lib目录下的stdCtrls.dcu或者重命名也可   
      6。在delphi\lib\debug目录下也有一份stdCtrls.dcu,把它也用新的stdCtrls.dcu替换掉。
    重中之中是要做好备份,要不然就只好重装delphi,惨咯~~~呵呵
    祝你好运!!!!关于你的问题,这样不行吗?
    Application.MessageBox('dsafsd','提示',MB_RETRYCANCEL+mb_IconInformation);
    跟操作系统有关的,中文的就显示为“重试”,“忽略”
      

  2.   

    这样不好,你不如把这段拷出来,另外做个Unit.
      

  3.   

    还是象一楼说的用Application.MessageBox,改VCL组件库不是一个好的办法
      

  4.   

    ----free007(绝色蜜蜂) 
    好: 你的方法我看了有点晕.不过我认为工程师嘛.应该要这样的.非常感谢!----miky(miky) 
    好: 你的方法我认为也很好. 自己做一个.虽然比较费时. 有时间可以写一个.----我现在用了一个很笨的办法. 不过解决了.
      将Consts.pas 拷贝出来. 新建一个工程, 加入 Consts.pas 文件(当然是自己修改过的文件啦), Ctrl+F9, 编译了一个 新的 Consts.dcu 文件.然后,用这个文件覆盖了Delphi系统下的 同名文件.结果OK 了. 呵呵.........
      

  5.   

    修改原来的VCL库不好.以后你重新装Delphi,如果你忘记备份那些修改后的文件,你就惨了.最好从原有的VCL继承.你这个问题很容易处理,用
    Application.MessageBox('内容','标题',MB_OK+MB_ICONINFORMATION);
    就行了.