回呼函式代碼;
procedure AsyncCallBack(hInternet: Pointer; dwContext: DWORD;dwInternetStatus:
DWORD; lpvStatusInformation: Pointer; dwStatusInformationLength:DWORD); stdcall;
var
Res : TMemoryStream;
Size: DWORD;
Buff: Array[1..4096] of Char;
begin
case dwInternetStatus of
WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE:
begin
WinHttpReceiveResponse(hInternet, nil);
end;
WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE:
begin
WinHttpSetStatusCallback(hInternet, nil, 0, 0);
try
Res:= TMemoryStream.Create;
Size := 0;
while WinHttpReadData(hInternet, @Buff, 4096, Size) do
begin
if Size <= 0 then Break;
Res.Write(Buff[1], Size);
Size:= 0;
end;
finally
if Assigned(hInternet) then WinHttpCloseHandle(hInternet);
FreeAndNil(Res);
end;
end;
WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING:
begin
if Assigned(hInternet) then WinHttpCloseHandle(hInternet);
end;
end;
end;
眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......
值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......