Einzelnen Beitrag anzeigen

endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#9

Re: Indy (IdHTTP) im Download Stream lesen

  Alt 29. Apr 2008, 13:24
oh vielen Dank,

das scheint tatsächlich zu funktionieren =))
allerdings gibt es noch 2 probleme:

1) der compiler meckert bei dem "override",
und zwar heißt es override sei eine unbekannte
anweisung, wenn ich das an diesen beiden stellen entferne
dann läßt sich das ganze schonmal kompilieren

Delphi-Quellcode:
function TSnifferStream.Read(var Buffer; Count: Longint): Longint; override; // << compiler error
begin
  // nichts tun
end;

function TSnifferStream.Seek(Offset: Longint; Origin: Word): Longint; override; // << compiler error
begin
  // nichts tun
end;
2) das zweite problem ist etwas haariger, die ersten
daten die im stream landen können problemlos geelsen werden,
dann gibt es allerdings einen ausnahmefehler der da lautet:

"Es ist eine Exception der Klasse EWriteError aufgetreten.
Meldung: Stream-Schreibfehler."

Anschließend springt die unit IdTCPConnection auf und zwar in die Methode

Delphi-Quellcode:
procedure TIdTCPConnection.ReadStream(AStream: TStream; AByteCount: Integer = -1;
  const AReadUntilDisconnect: Boolean = False);
...
    if InputBuffer.Size > 0 then begin
      i := Min(InputBuffer.Size, LWorkCount);
      InputBuffer.Position := 0;
      AStream.CopyFrom(InputBuffer, i);
      InputBuffer.Remove(i); //<< hier gibts den fehler
      Dec(LWorkCount, i);
    end;
...
Hast du vielleicht noch eine Idee wie man das bereinigt?

mfg
  Mit Zitat antworten Zitat