如何使用TNetHTTPClient或TNetHTTPRequest从URL获取图片并将其放在TImage?我是初学者,我正在使用 Delphi -10. 3-Rio。
我编写了一个简单的测试应用程序,但它并没有像我预期的那样工作。
我使用了TNetHTTPClient和TNetHTTPRequest
第一个
---下面是如何执行FreeAndNil(strm)---
第一次点击btnGetPict -一切正常
第二次单击btnGetPict-a-显示一条消息:模块'ProjGetPicture.exe'中的地址00407 F74发生访问冲突。读取地址FFFFFFFD。
第三次点击btnGetPict -一切正常
第四次单击btnGetPict -再次显示相同的信息,依此类推。
我也不知道为什么。
如果我删除FreeAndNil(strm);
一切正常,但它是一个泄漏内存.
如果我像这样修改代码
var
strmG : TStream;
procedure TForm1.FormCreate(Sender: TObject);
begin
strmG := TStream.Create;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeAndNil(strmG);
end;
// and use strmG instead strm in:
// strmG := AResponse.ContentStream;
// pngImg.LoadFromStream(strmG);
一切都在运行....直到程序关闭,出现相同的消息。
1条答案
按热度按时间yfjy0ee71#
将以下代码插入
btnGetPict
按钮的单击处理程序另外,不要忘记将PNGImage库的名称添加到
uses
行。如果要加载jpeg文件,请插入JPEG库。插入下面的代码。