修改Delphi源代码并生成可以发布的无BUG BPL

    Delphi虽然是一个相当棒的RAD工具,但是难免也有小的瑕疵。遇到这种情况我们往往会找到Delphi/Source中的源代码进行修改,把这个源代码加入我们的Application,重新编译一下可执行程序就解决了这些小虫子。
    但是如果我们要发布的是应用程序是“Build with runtime packages”(就是说,要连同该应用用到的BPL一起发布才能正常运行应用程序),我们可能需要把诸如VCL70.bpl,RTL70.bpl一起发布。可是这些BPL都是安装Delphi时自带的,如果发布这些BPL的话,其中的BUG也会一起发布,有没有办法打造一个没有BUG的BPL文件呢,就是说如何修改并重新生成系统已有的BPL呢?
    下面我们就演示一下修改VCL70.bpl的方法:New 一个Package,在这个Package中创建一个普通的Form,Compile一下这个Package,会提示加入VCL,当然要同意了。这个时候可以看到在Requires里有一个vcl.dcp,双击它,会自动产生一个vcl.dpk,另存为vcl70.dpk,可能会有其他提示不管它。然后再编译一下(编译有问题的话,用dcc32命令行编译),缺省生成的vcl70.bpl存放在Delphi/Projects/Bpl下。这个就是你修改过Delphi源代码生成的无BUG的BPL,拷出来随便发布吧,如果怕和系统的弄混,可以改一下这个Package的版本号再生成。
    如果要修改的是其他的包呢?很简单,刚才是New了一个Form,因为TForm在VCL中所以会看到Requires里增加了VCL,如果增加的是另一个包里的内容,或者引用了另一个包的单元,自然就会提示你并自动在Requires里加入相应的DCP了,其实最终目的还是要看到这个DCP双击它自动打开一个DPK工程。
    另外,这个方法只能适用于有源代码的包,废话啦,没有源代码怎么修改BUG。
    有的同志会把vcl.dpk命名成其他的名字,这样也没问题,随自己高兴怎么改就怎么改。