修改了delphi的classes.pas后,为何不起作用?

程晨c 2014-08-09 12:49:01
修改了delphi的classes.pas后,为何不起作用?
删除了D7下的classes.dcu,然后重新编译工程,发现跟未修改Classes.pas前的效果一样
classes.pas中加断点也未中断
如何才能做到重新编译classes.pas
...全文
231 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccclient 2014-08-09
  • 打赏
  • 举报
回复
程晨c 2014-08-09
  • 打赏
  • 举报
回复
奇怪的是,为何我开始时删除了D7下的classes.dcu还能编译工程 现在删除后居然报错找不到classes了 否则也不会发这个帖子了
程晨c 2014-08-09
  • 打赏
  • 举报
回复
引用 8 楼 ccrun 的回复:
想起来了,Delphi中还需要将修改后的.pas文件复制到Lib目录下,然后关闭Delphi重新打开,再去编译你的工程。
搞定了,修改后的pas如果不放入lib下,找不到,无法编译
ccrun.com 2014-08-09
  • 打赏
  • 举报
回复
想起来了,Delphi中还需要将修改后的.pas文件复制到Lib目录下,然后关闭Delphi重新打开,再去编译你的工程。
程晨c 2014-08-09
  • 打赏
  • 举报
回复
引用 5 楼 ccrun 的回复:
Project-->Options-->Packages-->取消 Build with runtime packages 前面的对钩 这是针对D7的设置,其他版本路径略有差异。
是一个exe工程,这里一直是将bpl编译到exe里的,没有打过勾
ccrun.com 2014-08-09
  • 打赏
  • 举报
回复
引用 4 楼 seleron 的回复:
在工程中使用了TStringList类,TStringList将空格也当做了Delimiter,所以修改了Classes.pass中的SetDelimtedText方法 不知如何使得修改后的Classes.pas生效
你的小红花怎么搞来的。 单纯为了StringList的Delimiter问题就修改Classes.pas,是得不偿失的。你只需要把关键的那个函数覆盖即可。
ccrun.com 2014-08-09
  • 打赏
  • 举报
回复
Project-->Options-->Packages-->取消 Build with runtime packages 前面的对钩 这是针对D7的设置,其他版本路径略有差异。
程晨c 2014-08-09
  • 打赏
  • 举报
回复
引用 2 楼 ccrun 的回复:
楼主用错马甲了吧。修改了VCL源码加入到工程中,需要去掉运行时包编译才会有效果。
在工程中使用了TStringList类,TStringList将空格也当做了Delimiter,所以修改了Classes.pass中的SetDelimtedText方法 不知如何使得修改后的Classes.pas生效
程晨c 2014-08-09
  • 打赏
  • 举报
回复
引用 2 楼 ccrun 的回复:
楼主用错马甲了吧。修改了VCL源码加入到工程中,需要去掉运行时包编译才会有效果。
如何去掉运行时包?
ccrun.com 2014-08-09
  • 打赏
  • 举报
回复
楼主用错马甲了吧。修改了VCL源码加入到工程中,需要去掉运行时包编译才会有效果。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧