zu 1.) das Override muss im Abschnitt implementation natürlich weggelassen werden
zu 2.)
Man muss noch den Result-Wert der Methode Write setzen, sonst denkt der Aufrufer (
Indy), dass der Schreibvorgang fehlgeschlagen wäre.
Delphi-Quellcode:
function TSnifferStream.Write(const Buffer; Count: Longint): Longint;
var
s : string;
begin
SetLength(s, Count);
Move(Buffer, s[1], Count);
// jetzt sind die Daten im String s und du kannst damit machen was du willst.
Result := Count; // Anzahl der gelesenen Bytes
end;