在C++Builder中,修改了VCL源码,怎样才能使其生效?(200分)(200分)

  • 主题发起人 主题发起人 sw
  • 开始时间 开始时间
S

sw

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中,将VCL源码修改后,编译,然后用新生成xxx.dcu文件将以前的覆盖。这样,再编译自己的程
序,就能够看到修改后的效果了。
但是,在C++Builder中却不行,我试过了,用新生成的xxx.hpp、xxx.dcu、xxx.obj覆盖以前的,无效!
请明白的朋友帮助解决一下,谢谢!
 
用 makefile 重新编译。
 
先把VCL重新指定路径
然后,REBULIDER
 
这样吧,我说的具体一点,我实际上是嫌PageControl控件不好看,就在Delphi中的comctrls.pas
做了修改,在Delphi中有效。但修改了C++Builder中的comctrls.pas,再编译、覆盖相应
的文件,再ReBuild我的工程文件,无效!
其实,上面两位说的指路径、完全重编译,我都试过了,无效啊!! 8-(
请两位再说得详细一点!这样,你们能有办法将comstrs.pas文件中的汉化在C++Builder中
实现就行,靠!一码事,555555555
 
我碰到过类似的问题,覆盖了好几次dcu都不解决问题.
就好像根本用不到此dcu.
实在不行你用delphi做成dll或者ocx在C++中调用吧.
 
c是用lib的
 
to Pipi.
Pipi.大侠,你好!请说得详细一点好吗?谢谢!
 
pipi的意思的bcb编出来的文件是.lib文件。
 
to Chenlili:
那就我所提的问题,请你解答一下吧,谢谢!
 
麻烦孙老师问问y9y吧!谢谢!
 
自己继承一个吧,换台机器装上就能用,省得破坏了原本CB的贞洁。[:D]
 
5~~~~~~~~~~~~~~~~~~~~~
不会吧
 
为什么还要问得这么麻烦呵

用delphi重新编译一下就是了!
 
bcb中是编译成obj文件,obj文件用tlib工具打包成lib
你可以把编译出来的obj文件添加进你的project,那么可以不用管lib
 
pas是可以编译成obj的
 
to Huzzz:
comctrls.pas中是功能的实现代码,而comctrls.hpp中是函数原型,我想改变PageControl控件的外观,
修改comctrls.hpp有什么用啊?!你连这种基本概念都不知道,怎么好意思在这里说三道四呢?!你太
菜了!!
另外,你以后说话注意一点措词,不要老是把“NND”挂在嘴边上。

to Pipi.:
首先,再次感谢大侠多次的、不厌其烦的指导!
你说“可以把编译出来的obj文件添加进你的project,那么可以不用管lib”,我是将pas文件直接加
到工程文件中了,效果和你说的是一样的,但编译出来的exe文件(静态编译)却比原来大几百k,很
明显,是重复包含了这个文件,颇为不爽!因为只要加入PageControl控件,BCB就会自动为你加上
#include <ComCtrls.hpp>,赶都赶不走,5~~~~~~~~ 不知你有没有解决办法?

其实,你给我最大的点拨是“obj文件用tlib工具打包成lib”,在此之前,我确实还真没用过tlib.exe
这个工具呢,经你提醒,我马上看了一下帮助,然后用tlib xxx.lib -+comctrls.obj来试了一下,结果
说xxx.lib中没有comctrls.obj这个模块,我又做了一个批处理,将../Lib目录下的所有lib文件备出来
再试了一次,结果仍然没成功,有好几个似乎都有联系,到底是不是还需要其他条件,我一时搞不清楚,
所以再向大侠请教!

如果后一个方法成功,那是最理想的了,我打算自己用管道做一个小工具,并且把tlib.exe包含进去,
专门用来做lib中的obj模块的替换,那样,就可以象Delphi一样方便地修改VCL源码了啊!!!可问题
不是那么简单,首先不知道comctrls.obj到底包含在哪个lib包中,然后就是还有没有别的要求,我也
不清楚。。。。。。
至于前一个方法,不到万不得已时,我是不会用的。
 
后退
顶部