Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdHTTP und GZIP: Abstrakter Fehler IdHTTP.Get() ??? (https://www.delphipraxis.net/129859-idhttp-und-gzip-abstrakter-fehler-idhttp-get.html)

romber 26. Feb 2009 20:00


IdHTTP und GZIP: Abstrakter Fehler IdHTTP.Get() ???
 
Ich versuche mit TIdHTTP eine Seite zu laden, die mit GZIP komprimiert ist. Dafür habe ich einen TIdZlibCompressorBase erstellt und diesen der Compressor-Eigenschaft der IdHTTP zugewiesen. Nun erscheint beim Aufruf von Get() eine Meldung "Abstrakter Fehler". Was mache ich falsch?

Delphi-Quellcode:
var
  inStream: TMemoryStream;
  gzipCompressor: TIdZlibCompressorBase;
  ...
begin
  ...
  gzipCompressor := TIdZlibCompressorBase.Create(nil);
  http.Compressor := gzipCompressor;
  inStream := TMemoryStream.Create;
  http.Get(PageURL, inStream); // <---Hier kommt es zum Fehler
  ...
end;

Assertor 26. Feb 2009 20:20

Re: IdHTTP und GZIP: Abstrakter Fehler IdHTTP.Get() ???
 
Hi romber,

das wird ja heute Dein Support-Tag ;)

probiert mal bitte TIdCompressorZLib aus IdCompressorZLib.pas statt TIdCompressorZLibBase.

Die Base-Klasse ist - wie der Name schon sagt - nur die Basis-Implementation wo die Methoden als abstrakt gekennzeichnet sind. Daher mekert Dein Delphi dort.

Abstrakter Fehler in Delphi bedeutet ja soviel wie: Problem sitzt vor dem Monitor ;)

Du kannst aber auch ohne zugewiesenen Decompress-Handler den Content direkt in den Stream laden und den Stream per zLib dekomprimieren. Falls bei Indy nachher was nicht stimmt.

Gruß Assertor

romber 26. Feb 2009 20:25

Re: IdHTTP und GZIP: Abstrakter Fehler IdHTTP.Get() ???
 
Zitat:

Zitat von Assertor
Hi romber,

das wird ja heute Dein Support-Tag ;)

probiert mal bitte TIdCompressorZLib aus IdCompressorZLib.pas statt TIdCompressorZLibBase.

Genau! Haben Sie schon daran gedacht, eine kostenpflichtige Rufnummer zu aktivieren? ;-)
Z.B. 0900-ASSERTOR oder so. Ich werde bestimmt der Stammkunde! ;-)

Zum Thema: muss ich jetzt probieren. Danke!

Assertor 26. Feb 2009 20:37

Re: IdHTTP und GZIP: Abstrakter Fehler IdHTTP.Get() ???
 
Zitat:

Zitat von romber
Genau! Haben Sie schon daran gedacht, eine kostenpflichtige Rufnummer zu aktivieren? ;-)
Z.B. 0900-ASSERTOR oder so. Ich werde bestimmt der Stammkunde! ;-)

Zum Thema: muss ich jetzt probieren. Danke!

Das wärs :-D Aber Hauptsache es geht gleich.

Gruß Assertor

P.S.: Dutzen wär vollkommen in Ordnung - sind ja hier alle im selben Boot.

romber 26. Feb 2009 22:56

Re: IdHTTP und GZIP: Abstrakter Fehler IdHTTP.Get() ???
 
Danke! Es geht!

Assertor 27. Feb 2009 09:39

Re: IdHTTP und GZIP: Abstrakter Fehler IdHTTP.Get() ???
 
Hi romber,

Zitat:

Zitat von romber
Danke! Es geht!

Gern geschehen. Freut mich, daß es jetzt geht!

Gruß Assertor

Micha88 27. Feb 2009 10:05

Re: IdHTTP und GZIP: Abstrakter Fehler IdHTTP.Get() ???
 
IdHTTP wirft generell bei Streams des öfteren abstrakte Fehler.

Scheint aber auch irgentwie mit der Kodierung zusammenzuliegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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