Thema: Delphi Prozedur warten lassen

Einzelnen Beitrag anzeigen

Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#7

Re: Prozedur warten lassen

  Alt 2. Jun 2005, 21:05
Hallo Pseudo,
Hier mal ein ungetesteter Versuch:

Delphi-Quellcode:
function AufzurufendeFunktion: Integer;
var SockStream: TWinSocketStream;
    Buffer: Array[0..1024] of char;
    Request, Ergebnis: string;
begin
  Ergebnis:= '';
  Request := 'Anfrage';
  FillChar(Buffer, sizeof(Buffer), #0);
  // Socket-Verbindung öffnen
  SockStream := TWinSocketStream.Create(ClientSocket.Socket,60000);
  SockStream.Write(Request, Length(Request) + 1);
  // Warten bis Ergebnis da ist
  if WaitForData(60000) then begin
    while (SockStream.Read(Buffer, SizeOf(Buffer)) <> 0) do begin
      Ergebnis:= Ergebnis+ Buffer;
    end;
  end;
  SockStream.Free;

  result := KeineAhnung;
end;
Mit den TimeOut-Zeiten kannst du ein wenig variiern. Wichtig ist, dass du den Socket auf ctBlocking einstellst und vorher verbindest.

grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat