Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Existenz einer datei am Server prüfen (https://www.delphipraxis.net/82294-existenz-einer-datei-am-server-pruefen.html)

little_budda 10. Dez 2006 15:16


Existenz einer datei am Server prüfen
 
Hallo,

ich prüfe die Existenz von Files am Server über den Rückgabewert des Servers
um zu umgehen das ich beim Aufruf der Datei einen "404" Error-Coder erhalte für "Nicht gefunden".

Mein Code zum Prüfen:
Delphi-Quellcode:
function UrlCheck(sUrl: String; bAllowRedirects: Boolean = false): Integer;
begin
  with TidHTTP.Create(nil) do
  try
    try
      HandleRedirects := bAllowRedirects;
      Head(sUrl);
      Result := Response.ResponseCode;
    finally
      Free;
    end;
  except
      Result := GetLastError;
  end;
end;
Aufruf :
Delphi-Quellcode:
if (UrlCheck(CLB_files.items[ix], true) = 200) then ...

Den Code hab ich auch hier aus dem Forum.
Die "CLB_files" ist eine CheckListBox in der meine URLs stehen.

Nun klappt alles wenn die Datei vorhanden ist.
Sofern sie nicht existiert bricht das "Head"-Kommando ab und bringt mir eine Exeption mit "404" Error.
Das ist genau das was ich eigentlich umgehen wollte.

Kann ich der TidHTTP-Komponente nicht irgendwie sagen das sie keine Exeptions rauslassen soll?
Damit ich halt nur als Rückgabe 404 erhalte aber keine Exeption.

Gruß Holger.

SirThornberry 10. Dez 2006 15:20

Re: Existenz einer datei am Server prüfen
 
Hast du dein Programm mal außerhalb der IDE ausgeführt?? Solange es in der IDE ausgeführt wird, wirst du den Fehler immer sehen sofern du es nicht in den Debugger-Optionen abschaltest.

little_budda 10. Dez 2006 15:40

Re: Existenz einer datei am Server prüfen
 
OK. Klappt wunderbar.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz