CnPack Forum


 
Subject: BCB 中使用 CnMultiLang 的一些问题和解决方法
CCED136
新警察
Rank: 1



UID 42209
Digest Posts 0
Credits 29
Posts 9
点点分 29
Reading Access 10
Registered 2009-4-17
Status Offline
Post at 2010-4-2 10:24  Profile | Blog | P.M. 
BCB 中使用 CnMultiLang 的一些问题和解决方法

前天下载了 CnWizards_0.9.5.562_Unstable 源码, 对于其中包含的 CnVCL 源码也进行了编译。

在测试其中的 CnMultiLang 时, 发现了几个问题:

1、CnMultiLang 中的 TCnLangTranslator 在生成语言翻译文件时,选择保存按钮,出现列表溢出BUG,无法保存语言文件。
     这个问题,可能需要开发组解决了(呵呵,我用 C++Builder 6.0,不是很熟悉 DELPHI)。
2、CnLangMgr.pas 中的函数 RegisterTranslateString ,在BCB中转换相应的 HPP 时有缺陷(应该是BCB的转换问题),被
     转换为下面的形式:
     extern PACKAGE void __fastcall RegisterTranslateString(const System:AnsiString StringAddr, const AnsiString IDStr);

      这样的导出描述,导致BCB创建的工程,无法正确连接 RegisterTranslateString 函数。 使用BCB 的兄弟,请修改为下面的形式即可:

      extern PACKAGE void __fastcall RegisterTranslateString(const AnsiString *StringAddr, const AnsiString IDStr);


其他:

1、建议在 GetLanguageFileExt 的基础上,增加一个 SetLanguageFileExt 函数,配对产生一个 LanguageFileExt  属性,允许用户自己
    指定语言翻译文件的扩展名称,这样就不用固定为 TXT 或者 INI 了,例如我就想用 CHS.lang 这样的名字,呵呵。

2、最新版本的独立多语言控件包。这个主要发挥折腾精神,先从网站上下载独立版本的 CnPack_MultiLang.zip 文件,然后下载 CnVCL20100101 版本(暂时推荐这个版本,像上面说的第一个问题就不存在), 然后复制CnVCL20100101中的相关文件去覆盖 CnPack_MultiLang.zip 独立控件包中的文件,然后编译即可,这样就获得了最新版本的多语种控件包,呵呵。
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2010-4-3 14:14  Profile | Blog | P.M. 
感谢细致的报告。经过检查,第一个问题是我们的多语包进行Unicode化过程中引入的bug,不仅是BCB有,Delphi也有。目前已修正并提交至SVN,下一发布版本将集成进去。
其余问题我们也在研究。
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2010-4-3 18:55  Profile | Site | Blog | P.M. 
补充一下

现在SVN中的多语包是全面支持Unicode的版本,支持读取 ansi, utf-8 和 unicode 的多语言文件(utf-8和unicode文件必须带标志头),并且在组件内部使用WideString来保存和处理字符串,所以最近的unstable版本是可以在XP下正确显示繁体中文、俄文等文字的。另外,新的版本不再支持 Win98。

CnVCL20100101 这个版本的代码还是基于Ansi字符串的。

新的Unicode版组件可以完全兼容旧版本的用户代码和语言文件,当然最好是用记事本将语言文件存成utf-8格式再使用。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
CCED136
新警察
Rank: 1



UID 42209
Digest Posts 0
Credits 29
Posts 9
点点分 29
Reading Access 10
Registered 2009-4-17
Status Offline
Post at 2010-4-24 19:14  Profile | Blog | P.M. 
感谢开发组的辛勤工作,为广大的程序员服务。 DELPHI 和 BCB 的发展现状,可能也给开发组带来了很多的困扰,不过,不管以后到底结果如何,至少现在,所有知道或者使用了 CNPACK 的人,都应该为你们感恩,这绝对是中国人的一个里程碑。
Top
 




All times are GMT++8, the time now is 2024-11-23 19:55

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.007417 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP