【发布时间】:2012-01-22 17:57:47
【问题描述】:
代码:
var
WinHttpReq: OleVariant;
procedure TForm1.Button1Click(Sender: TObject);
begin
WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpReq.Open('GET', 'http://stackoverflow.com', TRUE); // asynchronously
WinHttpReq.setRequestHeader('User-Agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0');
WinHttpReq.Send();
// HOW to set a callback procedure here and get the response?
end;
注意:我不想导入 mshttp.dll 并使用 TLB。我想通过后期绑定来使用它。如果有异常,我也想处理。
编辑: 我接受了 TLama 的回答,因为它给了我一个很好的选择,而不是我最初的要求。加上它有一个很好的示例源。
这是WinHTTPRequest Wrapper with IConnectionPoint for Events 的一个非常好的实现(附源代码)。
【问题讨论】:
标签: multithreading delphi asynchronous winhttp