![]() |
TStream.Seek nicht implementiert - Warum?
Hi,
mit folgenden Code versuche ich eine Datei herunterzuladen.
Delphi-Quellcode:
Beim ausführen wird mir die Exception "TStream.seek nciht implementiert" entgegen geschleudert. Warum?
source := TStream.Create;
downloader := TIdHTTP.Create; downloader.Get(RemoveParams(ADocument), source); ForceDirectories(extractfilepath(application.ExeName) + GetDomain(ADocument)); fs := TFileStream.Create(extractfilepath(application.ExeName) + GetDomain(ADocument) + '\' + GetDocumentFileName(ADocument), fmCreate); fs.CopyFrom(source, 0); fs.free; downloader.Free; source.Free; |
Re: TStream.Seek nicht implementiert - Warum?
weil TStream eine abstrakte Basisklasse ist.
Du musst dich für einen konkreten Stream eintscheiden (MemoryStream, FileStream, StringStream etc.) |
Re: TStream.Seek nicht implementiert - Warum?
Weil TStream eine (abstrakte) Basisklasse ist. Die Methode wird in abgeleiteten Klassen implementiert.
|
Re: TStream.Seek nicht implementiert - Warum?
Wenn ich TStringStream verwende kommt zwar kein Fehler aber es wird weder eine Datei erstellt, noch eine Datei irgendwo gespeichert. Warum? Muss ich evtl. einen anderen StreamTyp nehmen?
|
Re: TStream.Seek nicht implementiert - Warum?
Benutz lieber einen FileStream oder einen MemoryStream. StringStreams sind für Strings gedacht und nicht für Dateien.
|
Re: TStream.Seek nicht implementiert - Warum?
Moin Andreas,
warum übergibst Du dem Get nicht gleich den FileStream als Ziel? |
Re: TStream.Seek nicht implementiert - Warum?
Zitat:
|
Re: TStream.Seek nicht implementiert - Warum?
Poste doch mal die Sourcen mit dem FileStream.
|
Re: TStream.Seek nicht implementiert - Warum?
Delphi-Quellcode:
ADocument wird mir von idHTTPProxyServer übergeben und enthält die angeforderte Adresse (z. B.
fs := TFileStream.Create(extractfilepath(application.ExeName) + GetDomain(ADocument) + '\' + GetDocumentFileName(ADocument), fmCreate);
downloader := TIdHTTP.create; downloader.get(Adocument, fs); downloader.free; fs.free; ![]() GetDomain ist eine von mir gebastelte Funktion die den Domainnamen (z. B. delphipraxis.net) zurückgibt. GetDocumentFileName ist ebenfalls eine Routine von mir die das angeforderte Dokument zurückgibt. (z. B. bla.php) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz