Einzelnen Beitrag anzeigen

SittingDuck

Registriert seit: 11. Jan 2006
Ort: Leverkusen
159 Beiträge
 
Delphi 2010 Professional
 
#1

Versionsnummer abfragen per Thread

  Alt 15. Jan 2006, 23:10
Tach auch ...

Ich habe eine Schnellstartleiste programmiert
http://home.arcor.de/stefan.moka/launcher/Snap1.png
und möchte nun beim Start eine Versionsüberprüfung durchführen.

Dazu nutze ich folgende Funktion:

Delphi-Quellcode:
function LoadURL(URL: String): String;
var IOpen, IURL: HINTERNET; Read: Cardinal; Msg: array[0..4096] of Char;
begin Result := '';
 IOpen := InternetOpen('GetIP', INTERNET_OPEN_TYPE_PRECONFIG, '', '', INTERNET_FLAG_NEED_FILE);
 if IOpen <> nil then try
  IURL := InternetOpenUrl(IOpen, PAnsiChar(URL), nil, 0, INTERNET_FLAG_NO_UI or INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_RELOAD, 0);
  if IURL <> nil then try
   repeat
    FillChar(Msg, SizeOf(Msg), 0);
    if InternetReadFile(IURL, @Msg[0], Pred(SizeOf(Msg)), Read) then Result := Result + Msg else Break;
   until Read = 0;
  finally InternetCloseHandle(IURL); end;
 finally InternetCloseHandle(IOpen); end;
end;
Das klappt auch soweit sehr gut ...
Der Start meines Programmes verzögert sich jedoch weil so
eine Internet-Anfrage, je nach Leitung und Traffic schon mal
ins Stottern kommt.
Jetzt meine Frage: Wie müsste man die Funktion Thread-sicher
verpacken, damit ich, sagen wir nach 5 Sekunden das Ergebnis
aus meinem Hauptprogramm erfragen kann ?
Das Thread-Tutorial habe ich intus ... 2x sogar ... ist jedoch
nicht ganz einfach ... und entwickelt sich komplexer als erwartet.

Besten Dank für Eure Hilfe ...
SittingDuck
  Mit Zitat antworten Zitat