想实现版本的多语言化,可是有一些问题不知道如何解决.

sonyzhao 2003-09-12 12:57:18
新手,以前不是干BCB的,现在有个项目,是日文版的,要实现中文版和英文版.现在决定把画面上的设定项目放到ini文件中.考虑到日文,中文,英文的message的长度不同,决定为每个版本不同的画面.但是这样的话,原来在日文版中的画面出来要放到共通函数里去做.有没有什么建议.最好是有一些源代码.谢谢.我自己在实验的时候,写了下面的一些代码,可是没有用.
在一个Form上
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2 *form2 = new TForm2(Form1);
form2->ShowMessage(this);
}

在另一个Form里
TForm2::ShowMessage(TObject *Sender)
{
//TODO: Add your source code here
(TForm1)Sender->Button1.Caption = "test";
return 0;
}
错误代码如下
[C++ Error] Unit2.cpp(26): E2316 'Button1' is not a member of 'TObject'

请各位指教.
...全文
28 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人丁 2003-10-08
  • 打赏
  • 举报
回复
操作资源动态连接库可以解决这个问题,推荐一本书《delphi高级编程》(程序员加油站系列丛书);具体的我也没研究。
greenxiar 2003-10-08
  • 打赏
  • 举报
回复
采用MLangX组件,可以管理界面中的语言字串项目,在Cache中HASH方式查寻字串很快。
下载 http://www.1bitsoft.com/downloads/mlxdemo1_1.zip
可以与作者greenxiar@hotmail.com联系 QQ 12821922
正在征集测试用户,你可以得到一份正版的许可
佣工7001 2003-09-12
  • 打赏
  • 举报
回复
类型转换不到位!
改为
((TForm1)Sender)->Button1.Caption = "test";
或者
dynamic_cast<TForm1*>(Sender)->Button1.Caption = "test";
ccrun.com 2003-09-12
  • 打赏
  • 举报
回复
然后还应该这样吧。

((TForm1 *)Sender)->Button1->Caption = "test";
kaimy 2003-09-12
  • 打赏
  • 举报
回复
可能是如楼上所说吧!试试看吧!
ccrun.com 2003-09-12
  • 打赏
  • 举报
回复
#include "unit1.h"

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧