Jens Lenge
2012-08-20 13:44:40 UTC
Hallo Welt,
ich möchte unter XE2 möglichst "generisch" einen HTTP-Download
durchführen - idealerweise direkt in den Speicher und OS-unabhängig,
damit ein späterer Schritt auf MacOS o. ä. möglich ist.
Tante Google liefert dazu folgende Ansatzpunkte:
- Mein bislang verwendetes WinInet scheidet aus, da fest an Windows+IE
gekoppelt.
- Besser sind die mit XE2 gelieferten Indy-Komponenten, speziell TIdHTTP
in Verbindung mit TMemoryStream. Damit wäre auch ein späterer Schritt
"VCL => Firemonkey" problemlos.
Soweit richtig?
Leider scheint die real existierende Doku zu TIdHTTP recht dürftig
(siehe z. B.
http://docwiki.embarcadero.com/Libraries/en/IdHTTP.TIdHTTP), darum: Wer
kennt ein brauchbares Tutorial oder (noch besser) kann Codebeispiele
beisteuern, wie man geeignet...
a) rausfindet, ob die gewünschte URL erreichbar ist (Internetverbindung
vorhanden, Host erreichbar, URL existiert)?
b) abfragt, wie "groß" der Download ist (SPeicherbedarf)?
c) den eigentlichen Download durchführt (ggf. zwischendurch mit einem
Callback zur Forstschrittsanzeige)?
d) prüft, ob der Download fehlerfrei geklappt hat (oder ggf.
unterbrochen wurde)?
ich möchte unter XE2 möglichst "generisch" einen HTTP-Download
durchführen - idealerweise direkt in den Speicher und OS-unabhängig,
damit ein späterer Schritt auf MacOS o. ä. möglich ist.
Tante Google liefert dazu folgende Ansatzpunkte:
- Mein bislang verwendetes WinInet scheidet aus, da fest an Windows+IE
gekoppelt.
- Besser sind die mit XE2 gelieferten Indy-Komponenten, speziell TIdHTTP
in Verbindung mit TMemoryStream. Damit wäre auch ein späterer Schritt
"VCL => Firemonkey" problemlos.
Soweit richtig?
Leider scheint die real existierende Doku zu TIdHTTP recht dürftig
(siehe z. B.
http://docwiki.embarcadero.com/Libraries/en/IdHTTP.TIdHTTP), darum: Wer
kennt ein brauchbares Tutorial oder (noch besser) kann Codebeispiele
beisteuern, wie man geeignet...
a) rausfindet, ob die gewünschte URL erreichbar ist (Internetverbindung
vorhanden, Host erreichbar, URL existiert)?
b) abfragt, wie "groß" der Download ist (SPeicherbedarf)?
c) den eigentlichen Download durchführt (ggf. zwischendurch mit einem
Callback zur Forstschrittsanzeige)?
d) prüft, ob der Download fehlerfrei geklappt hat (oder ggf.
unterbrochen wurde)?