OK, dass das so funktioniert, wusste ich nicht, gebe ich zu.
Tja, man lernt nie aus, das gilt für mich ebenso
Aber aus der Hilfe lese ich das auch nicht.
Und wo hast du das mit dem WriteBuffer gelesen? Etwa in der Online-Hilfe zu TFileStream?
Da steht nur, dass die Datei zum Schreiben geöffnet wird, und nicht das da auch automatisch was reingeschreiben wird, wenn man in den Stream was reinschreibt.
Zum Schreiben geöffnet heißt, sie wird erstellt und wartet darauf, daß geschrieben wird. Wie befüllt man ein geöffnetes Gefäß? Indem man was reingießt? Und wie schreibt man in einen Filestream? Indem man was reinkopiert? Also für mich ist der Text in der
OH eindeutig.
Man sollte hier wirklich nichts behaupten, das man nicht zuvor überprüft hat, nur um sich hervorzutun mit einem "ich weiß auch was" und sich dann doch zu blamieren
Übrigens kann man im
Codebeispiel zu TFileStream.Create genau diese Vorgehensweise finden.
@Perlsau: Nur im Unterschied zum Threadersteller schreibst du auch was rein FileS.CopyFrom(S, S.Size);
Und macht das der TE mit
idHTTP1.Get(url, ResponseStream);
etwa nicht? Was macht die Get-Version mit String als Var-Parameter? Richtig, das Resultat wird im String gespeichert. Warum sollte es bei einem Stream als Ziel-Behälter dann anders sein?
AResponseContent is the TStream instance that is the destination for data retrieved from the specified URL. For example: AHttp.Get(AUrl, AResponseContent)