Autor Beitrag
Thjostalf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 21

Win2k, WinXP
D3 Prof, D4 Prof, Turbo Delphi Prof
BeitragVerfasst: Di 07.02.06 14:56 
Hallo,

ich hänge gerade an einem seltsamen Umstand der Komponente TnCnx als der Internet Component Suite (ICS):

Ich möchte die Log-Ausgabe eines Routers via Telnet abzugreifen und diese in ein Memo zu schreiben, damit später danach gefiltert werden kann. Dazu wollte ich das Ereignis TnCnxDataAvailable verwenden:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.TnCnxDataAvailable(Sender: TTnCnx; Buffer: Pointer; Len: Integer);
begin
  Memo1.Lines.Append(StrPas(Buffer));
  Memo2.Lines.Append(IntToStr(Len));
end;


Die initiale Kommunikation (Begrüßung, Login) bekomme ich noch in das Memo-Feld. Die weitere Ausgabe beschränkt sich dann jedoch auf Zeilenumbrüche, obwohl die nebenher protokollierte Variable "Len" ganz klar der Meinung ist, daß Daten da sind... Man müßte doch irgendwie an den Text rankommen...

Bei den mitgelieferten Demos der ICS zeigt sich ähnliches: Die Demo "TnDemo.dpr" liefert nach der Begrüßung nur noch Zeilenumbrüche, die Demo "TnClient.dpr" mit der Komponente TnEmulVT zeigt die Komplette Ausgabe (Begrüßung und anschließenden Protokoll).

Hat da jemand einen Tip für mich, wie ich - einfach gesagt - die komplette Ausgabe von TnEmulVT in ein Memo bekomme?

Gruß, Marian
Einloggen, um Attachments anzusehen!
Thjostalf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 21

Win2k, WinXP
D3 Prof, D4 Prof, Turbo Delphi Prof
BeitragVerfasst: Mo 20.02.06 22:43 
Titel: Der Router war der Übeltäter
Hallo,

ich konnte den Fall mit Hilfe eines Hex-Editors lösen. Des Rätsels Lösung:

Der Router sendete nach jedem Zeilenumbruch noch das Zeichen #0 was in Stringform für einen nullterminierten String natürlich das Ende bedeutet. Jetzt schnibbel ich die Zeichen, die mir nicht passen weg und kann die Rückmeldungen in ein Memo-Feld ausgeben.

Grüße aus Stuttgart,
Marian