Moin zusammen,
Zitat von
Christian Seehase:
... Das tut sie, meiner Erfahrung nach, leider nicht, weshalb ich in so einem Falle die Indys (TidHTTP) zu verwenden. ...
vielleicht sollten wir das Thema etwas vertiefen.
Die
API Funktion UrlDownloadToFile() fordert ein Dokument grundsätzlich vom Server an. Will ich das nicht, dann muss ich UrlDownloadToCacheFile() verwenden. Dieses Verhalten sollte seit IE4 zu beobachten sein. Mir ist bewusst, dass es widersprüchliche Beiträge im Internet gibt. Ich habe deshalb meine Aussage mit einem lokalen HTTP-Server verifiziert.
UrlDownloadToFile() kann nicht verhindern, dass der Server mit dem Status-Code 304 (Not Modified) arbeitet, was dazu führt, dass ein eventuell im lokalen Cache vorhandenes Dokument angedient wird.
Ich würde den Fehler beim Standalone HTTP-Server der WebCam suchen und mir ansonsten so behelfen:
Delphi-Quellcode:
function Download(
const url, fn:
string; allowFromCache: Boolean = True): Boolean;
begin
if not allowFromCache
then
DeleteUrlCacheEntry(PChar(
url));
Result := Succeeded(UrlDownloadToFile(
nil, PChar(
url), PChar(fn), 0,
nil));
end;
Freundliche Grüße
PS: Die Referenz zu allen Windows
API Funktionen ist natürlich der Windows
SDK (vormals Windows Platform
SDK) - auch
Online.