Delphi 2005 Update2
Author Topic
lingchen
幼幼班
2 Posts Posted - 03/12/2005 : 11:22:26
--------------------------------------------------------------------------------
今天我下了Delphi2005 Update2,安装完毕后编译了目前在开发的系统,源代码为15万行左右,编译几次后,内存使用就达到1G以上。然后Borland的这个问题就无法解决了吗?上次李老师不是说原因找到了吗,难道解决就这么困难吗?
幸幸苦苦等到这个补丁,还是没有解决关键问题。而且这次补丁出来后,连修改了哪些都要自己去QC上去找了。Borland怎么越来越...
yangdong
大班
226 Posts Posted - 03/13/2005 : 15:45:59
--------------------------------------------------------------------------------
我也是,不知道这是怎么回事。反正这个补丁安装完毕之后,退出D2005时报了几个AV异常。
socket_star
幼幼班
China
3 Posts Posted - 03/13/2005 : 21:38:27
--------------------------------------------------------------------------------
没感觉IDE变快。
的确去除了一些BUG,另一些还在,没出现新的BUG。
其它的还不清楚。
内存外溢问题其实一直也没遇到过,一般情况下都是100MB,200或300MB算多的了。
dekit
小班
52 Posts Posted - 03/14/2005 : 10:06:07
--------------------------------------------------------------------------------
是不是 正式版本的UPDATE 2 啊?
email_chen
幼幼班
China
1 Posts Posted - 03/14/2005 : 16:05:05
--------------------------------------------------------------------------------
※ 引述《lingchen》於 03/12/2005 11:22:26 發表之銘言:
>今天我下了Delphi2005 Update2,安装完毕后编译了目前在开发的系统,源代码为15万行左右,编译几次后,内存使用就达到1G以上。然后Borland的这个问题就无法解决了吗?上次李老师不是说原因找到了吗,难道解决就这么困难吗?
>幸幸苦苦等到这个补丁,还是没有解决关键问题。而且这次补丁出来后,连修改了哪些都要自己去QC上去找了。Borland怎么越来越...
有人写了一个清内存的bpl插件,据他讲用了以后Delphi2005只占3、4兆内存,多次编译后占用内存不会递增,其实这个bpl只有一个pas文件,这个文件里主要的就是一个函数,如有兴趣你看看:
{
2004.11.30
wr960204 武稀松(王锐)
}
unit UnitMMSave;
interface
uses
Classes, Windows, SysUtils, StrUtils, ExtCtrls, Forms,
Dialogs;
implementation
const
Frequency = 5000;//每隔五秒钟整理一次内存,速度很快的 :)
var
TimerID: Integer;
InProc: Boolean;
procedure SaveMemory;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin //整理内存
SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
end;
end;
//定时器要执行的回调函数
procedure HearBeatProc(Wnd: HWnd; Msg, Event, dwTime: Integer); stdcall;
begin
if (InProc = False) then
begin
InProc := True;
try
SaveMemory;
finally
InProc := False;
end;
end;
end;
initialization
SetTimer(0, 0, Frequency, @HearBeatProc); //创建一个定时器
finalization
KillTimer(0, TimerID);
end.