egust
30517
|
2007/7/24 18:42:05 |
因为决定以后尽量做unicode的程序,使用tnt系列控件,所以储存的时候打算用utf-8编码。这段时间在做一些基础库,把我以前做的unicode管理和一些数据结构重新整理封装了一下,接下来就要开始动手了。我不打算做成dll的形式来支持,计划直接集成控件的Loaded过程,在里面遍历窗体里存在的控件,根据设定写入字符串属性,运行期的变化就要程序员自己实现了。 针对dll和exe的内存管理器共享机制的问题我推荐使用fastmm项目,可以不用引用sharemem单元同时发布borlandmm.dll,除了直接使用fastmm外还可以使用“Borland Delphi 7 FastMM RTL 补丁” |
qsmile
30407
|
2007/7/16 13:25:17 |
我比較關心你的那個語言包做出來了嗎?
我現在正在做一個,主要問題是因為屬性都是 string 的,我把語言切換包做到 dll 中,就必須引用 borlndMM.dll 。麻煩 |
array
30311
|
2007/7/9 8:45:48 |
可以做类似java中AOP的处理? |
egust
30273
|
2007/7/4 10:06:49 |
我做这个的目的是为了实现一个语言包控件,并且能够在运行期通过加载的额外dll制作语言包,这样就要得到所有控件strings类型的属性记录,如果自己查PropInfo的话就记录不了TPersistent的派生类的DefineProperties记录的信息,如果直接用TWriter的话,由于TWriter的接口不是虚函数的形式,没法直接继承需要的类方法达到取舍的目的,自己分析TWriter生成的stream又很麻烦,所以打算干脆用这个东西虚拟一个继承出来 |
egust
30272
|
2007/7/4 9:46:32 |
比如,有些时候vcl提供的功能不能满足需求,但是提供的方法不是虚函数,但是vcl内部却使用该类,想要在vcl基础上完成想实现的功能就必须修改vcl底层。修改vcl并且重新编译一个是比较麻烦,另外即使仅在当前项目使用vcl,用不同版本的delphi编译也可能出现问题。所以用这个东西就可以在运行期模拟虚函数的效果,重定向原有的类方法,而不需要直接修改vcl源代码 |
guest2000
30263
|
2007/7/3 19:12:57 |
这技术实用于哪些情况,能否说明一下? |