今天碰到一个问题,想与各位兄弟讨论我的程序中需要使用到VCL的一个运行期包,比方说rtl70.bpl
然后我想对rtl包所包含的某个单元进行修改,比方说classes单元
但是如果我修改它的话,我必须rebuild这个包,因为我的程序需要rtl70.bpl不知道是什么原因,Delphi是不提供这些包的源码的,
所以我手工做了一个rtl.dpk但是我检查过Delphi原始发布的rtl70包,
发现它包含两个单元Enterprise版的Delphi 7是没有提供的
(不要说pas源码,连dcu都没有提供)
这两个单元是StrHlpr和VarHlpr单元,于是我搜索Source目录下的所有pas文件,看看
有没有什么单元引用了这两个单元,搜索结果是没有一个单元使用这两个单元
之一,看来,似乎是由Delphi IDE使用的,不知道是否这样?如果这两个单元是可以省略的话,那么我可以修改rtl中得一些实现细节
或者添加一些我自己的单元,
如果这两个单元是必需的话,
那么我们就没有办法修改rtl所包含的单元里的源码
(如果我们的程序需要运行期的rtl.bpl的话)
我尝试了一下,把strhlpr和varhlpr去掉,然后用dcc32编译我做的rtl包,
然后把编译结果复制到一些需要这个运行期包的程序的工作目录中,
再运行这些需要这个包的程序,并谨慎的使用procexp检查了这些程序
载入的rtl70.bpl是否我所编译的,
到目前为止没有发现它们异常的地方总结,
1,没有单元引用了StrHlpr和VarHlpr
2, 去掉这两个单元后编译得到的包目前正常工作所以我比较倾向于这两个单元只是供Delphi IDE使用的,我们编译的程序可以
忽略它
在这个问题上有经验的兄弟,不妨大家讨论讨论
然后我想对rtl包所包含的某个单元进行修改,比方说classes单元
但是如果我修改它的话,我必须rebuild这个包,因为我的程序需要rtl70.bpl不知道是什么原因,Delphi是不提供这些包的源码的,
所以我手工做了一个rtl.dpk但是我检查过Delphi原始发布的rtl70包,
发现它包含两个单元Enterprise版的Delphi 7是没有提供的
(不要说pas源码,连dcu都没有提供)
这两个单元是StrHlpr和VarHlpr单元,于是我搜索Source目录下的所有pas文件,看看
有没有什么单元引用了这两个单元,搜索结果是没有一个单元使用这两个单元
之一,看来,似乎是由Delphi IDE使用的,不知道是否这样?如果这两个单元是可以省略的话,那么我可以修改rtl中得一些实现细节
或者添加一些我自己的单元,
如果这两个单元是必需的话,
那么我们就没有办法修改rtl所包含的单元里的源码
(如果我们的程序需要运行期的rtl.bpl的话)
我尝试了一下,把strhlpr和varhlpr去掉,然后用dcc32编译我做的rtl包,
然后把编译结果复制到一些需要这个运行期包的程序的工作目录中,
再运行这些需要这个包的程序,并谨慎的使用procexp检查了这些程序
载入的rtl70.bpl是否我所编译的,
到目前为止没有发现它们异常的地方总结,
1,没有单元引用了StrHlpr和VarHlpr
2, 去掉这两个单元后编译得到的包目前正常工作所以我比较倾向于这两个单元只是供Delphi IDE使用的,我们编译的程序可以
忽略它
在这个问题上有经验的兄弟,不妨大家讨论讨论
解决方案 »
- 请高手赐教!求救!
- adoquery 可以向表里录入数据吗
- 如何向RichEdit添加内容而不换行.
- 又来了,求邮件收发源码一份,只需要基本功能就行了,不过更详细更好,
- 如何用递归算法画出一个树???谢谢各位大哥了!!!
- 兄弟初学DELPHI``想问一下大家``入门的时候应该看那本书阿?
- 一个WIN32API函数???
- TreeView中鼠标点击改变SelectedIndex响应慢的问题,100分急救
- QuickRep :预览显示正确,但打印出来出现重叠等错误。
- StringGrid的内容怎么倒回到Query里面啊?
- 程序窗口始终在最上面的问题(在线等待,即解即送分)
- 怎么控制ToolButton?
关注。UP。
Borland:太岁头上动土!
----------------
广告词:
今天,你UP了吗?
如果没有的话我想面向对象思想是不提倡这样做的