修改Delphi源代码并生成可以发布的无BUG BPL
2009-03-24 14:10
288 查看
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命名成其他的名字,这样也没问题,随自己高兴怎么改就怎么改。
但是如果我们要发布的是应用程序是“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命名成其他的名字,这样也没问题,随自己高兴怎么改就怎么改。
相关文章推荐
- DELPHI中BUG修改备忘
- 如何不必发布就可以在IE上显示WEB修改效果
- CSS3 Generator提供了13个CSS3较为常用的属性代码生成工具,而且可以通过这款工具除了在线生成效果代码之外,还可以实时看到你修改的效果,以及浏览器的兼容性。
- 用Windows Live Writer发布博客也可以不生成缩略图
- delphi自己也可以生成帮助文件
- Q : 请问WinDriver生成的.sys档案是否可以修改呢?
- Bean Query 修改Bug的版本(1.0.1)已发布
- MyBatis-generator-core 生成的Dao 怎么自定义名字 (或者手动修改哪些源码可以实现)
- 渣渣用JavaScript开发的消消乐,由于没有按照正规消消乐形式生成,是随机产生图形,所以存在一个算法bug,具体看下面,高手想到可以告诉我
- Android 用NDK编译FFmpeg(生成Android.mk可以放在源代码框架内编译)
- 基本上,把switch,用设计模式代替,肯定是bug和过度设计。想想,本来修改一个文件几行代码可以解决的问题,变成修改3-6个类才能实现一样的功能。不是傻是什么?
- 终于可以发布Delphi下收点OSGI精髓皮毛而设计的插件框架WisdomPluginFramework
- QStringLiteral(源代码里有一个通过构造函数产生的从const char*到QString的隐式转换,QStringLiteral字符串可以放在代码的任何地方,编译期直接生成utf16字符串,速度很快,体积变大)
- Windows Phone App Studio发布重要更新-支持Windows 8.1 源代码生成
- DotNet Helper 可以用来将DLL生成IL,修改完IL以后再将其编译为DLL
- DELPHI中BUG修改备忘
- Delphi 提示在Delphi的IDE中,按Ctrl+Shift+G键可以为一个接口生成一个新的GUID。
- 发布标准是什么?可以修改吗?
- Python:在Linux下创建一个脚本并且自动修改权限,可以选择路径。批量生成脚本 。