请问大牛们,我每次在执行idhttp.get程序的句柄就会增加,请问如何解决?
//执行下载文件
astream:=TFileStream.Create(LoadRoute+'\'+filename+'.dm',fmCreate);
http:=TIdHTTP.Create(nil);
http.Get(aurl,astream);
//下载完毕后释放http、astream内存
if http.Connected then
http.Disconnect;
if Assigned(http) then
http.Free;
if Assigned(astream) then
begin
freeandnil(astream);
end;
//执行下载文件
astream:=TFileStream.Create(LoadRoute+'\'+filename+'.dm',fmCreate);
http:=TIdHTTP.Create(nil);
http.Get(aurl,astream);
//下载完毕后释放http、astream内存
if http.Connected then
http.Disconnect;
if Assigned(http) then
http.Free;
if Assigned(astream) then
begin
freeandnil(astream);
end;
如果动态建立,最好create写到initialization里面,free写到finalization里面。这样就只有一个idhttp存在。
try
http.Get(aurl,astream); //下载完毕后释放http、astream内存
if http.Connected then
http.Disconnect;
except
end;
if Assigned(http) then
http.Free;
if Assigned(astream) then
begin
freeandnil(astream);
end;