All pastes #33578 Raw Edit

InternetStatusCallba

public text v1 · immutable
#33578 ·published 2005-12-13 21:44 UTC
rendered paste body
// InternetStatusCallback Funktion:
procedure Callback(hInet: HINTERNET; dwContext: DWORD; dwInternetStatus: DWORD; lpvStatusInformation: Pointer; dwStatusInformationLength: DWORD); stdcall;
var
  status: TLabel;
  res: integer;
  pstatus: Pointer;
begin
  pstatus := Pointer(dwContext);
  status := (TLabel (pstatus^));
  case res of
    INTERNET_STATUS_CLOSING_CONNECTION: status.Caption := 'closing connection';
    INTERNET_STATUS_CONNECTED_TO_SERVER: status.Caption := 'connected';
    INTERNET_STATUS_CONNECTING_TO_SERVER: status.Caption := 'connecting';
    INTERNET_STATUS_CONNECTION_CLOSED: status.Caption := 'connection closed';
  end;
end;

//Kontext und Callback setzen, aufgerufen aus einer anderen Funktion:
status := TLabel.Create('test');
InternetSetOption(hService, INTERNET_OPTION_CONTEXT_VALUE, status, sizeof(status));
InternetSetStatusCallback(hService, INTERNET_STATUS_CALLBACK(@Callback));