另外大家可以试一下,打开某个目录中的项目,再关闭,或者Close All, 这个目录无法被删除,除非退出Delphi,才能删掉,说明虽然关闭了项目,但依然有些东西没有释放
TO DongXF (孔雀东南飞) : 你的工程是否开辟的一些资源,你没有释放?要注意一些对象是否由系统释放,很多对象和子对象需要你手动释放的。DELPHI FOR WIN32 不是.NET,.NET的垃圾回收是给不是程序员的程序员准备的,而且垃圾回收机制狠大的苦恼就是大部分情况下你无权释放资源,而64K以上的动态数组需要2次以上的回收才能释放,循环开辟它,就等待恶梦吧。还有无法删除的问题是DELPHI在打开一个项目后,会把那个项目文件所在的文件夹设置成他的当前目录,既然有软件使用了这个目录,WINDOWS就不允许你删除了,这个是MS的保护机制,不要把这个弱智问题丢给BORLAND。
>>再关闭,或者Close All, 这个目录无法被删除 这个问题,可以理解,不算bug,我想
同上,我也同意,我经常性的Compile all projects或 Compile all projects From Here都没有问题。呵呵不过我的比较大。
回复: 快乐老猫(无米下炊) TO DongXF (孔雀东南飞) : 你的工程是否开辟的一些资源,你没有释放?要注意一些对象是否由系统释放,很多对象和子对象需要你手动释放的。DELPHI FOR WIN32 不是.NET,.NET的垃圾回收是给不是程序员的程序员准备的,而且垃圾回收机制狠大的苦恼就是大部分情况下你无权释放资源,而64K以上的动态数组需要2次以上的回收才能释放,循环开辟它,就等待恶梦吧。--------------------------------------------- 我只是打开项目组并没有运行,所以我的代码没有执行,没有开辟资源啊,至于控件开辟的资源,在打开项目组时已经建立了,这时并不慢啊 ---------------------------------------------还有无法删除的问题是DELPHI在打开一个项目后,会把那个项目文件所在的文件夹设置成他的当前目录,既然有软件使用了这个目录,WINDOWS就不允许你删除了,这个是MS的保护机制,不要把这个弱智问题丢给BORLAND。我认为Delphi关闭项目后,应该释放对项目目录的使用权啊,当然这个问题不算什么,只是觉得不太方便
大量的内存没有被释放
你的工程是否开辟的一些资源,你没有释放?要注意一些对象是否由系统释放,很多对象和子对象需要你手动释放的。DELPHI FOR WIN32 不是.NET,.NET的垃圾回收是给不是程序员的程序员准备的,而且垃圾回收机制狠大的苦恼就是大部分情况下你无权释放资源,而64K以上的动态数组需要2次以上的回收才能释放,循环开辟它,就等待恶梦吧。还有无法删除的问题是DELPHI在打开一个项目后,会把那个项目文件所在的文件夹设置成他的当前目录,既然有软件使用了这个目录,WINDOWS就不允许你删除了,这个是MS的保护机制,不要把这个弱智问题丢给BORLAND。
这个问题,可以理解,不算bug,我想
TO DongXF (孔雀东南飞) :
你的工程是否开辟的一些资源,你没有释放?要注意一些对象是否由系统释放,很多对象和子对象需要你手动释放的。DELPHI FOR WIN32 不是.NET,.NET的垃圾回收是给不是程序员的程序员准备的,而且垃圾回收机制狠大的苦恼就是大部分情况下你无权释放资源,而64K以上的动态数组需要2次以上的回收才能释放,循环开辟它,就等待恶梦吧。---------------------------------------------
我只是打开项目组并没有运行,所以我的代码没有执行,没有开辟资源啊,至于控件开辟的资源,在打开项目组时已经建立了,这时并不慢啊
---------------------------------------------还有无法删除的问题是DELPHI在打开一个项目后,会把那个项目文件所在的文件夹设置成他的当前目录,既然有软件使用了这个目录,WINDOWS就不允许你删除了,这个是MS的保护机制,不要把这个弱智问题丢给BORLAND。我认为Delphi关闭项目后,应该释放对项目目录的使用权啊,当然这个问题不算什么,只是觉得不太方便
同上,我也同意,我经常性的Compile all projects或 Compile all projects From Here都没有问题。呵呵不过我的比较大。
我的项目组大概包括20多个项目,每次Compile all后都很慢,真羡慕你,没这个问题
目前没有发现编译后资源泄露问题。也许我写的东西不够大。不过还是建议你检查下你的系统,尤其是杀毒软件,瑞星的咚咚跟很多软件冲突的,我一般用金山。对于当前目录的问题,只是程序的书写习惯罢了,你又没有要求打开新的项目组,系统认为没有必要重新设定当前目录罢了。
如果你需要打开另一个项目组的话,只要你打开那个项目组,当前目录就变了;
如果你不需要打开任意项目组的话,只要你关闭DELPHI环境,也就没有当前目录这个制约了。
所以,无法删除上一个打开的项目的目录,和你的操作习惯也是密不可分的。