Autor Beitrag
sonic159
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 76

Windows XP
BDS 2006 Professional
BeitragVerfasst: Mi 17.05.06 18:16 
Hallo.

Ich habe meine TeamSpeak Telnet Console Programmier.
Und beim Auslesen der Telnet Console Stürzt er einfach ab!
Was jetzt?

Hier mein Code zum auslesen der Telnet Console!:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TMAINFORM.Button4Click(Sender: TObject);
var Antwort: String;
    Ende: Boolean;
begin
Ende := False;
IdTCPClient1.WriteLn(Edit6.Text);
repeat
Antwort :=IdTCPClient1.ReadLn();
if Antwort = 'X' then
begin
  Ende := True;
end
else
begin
  Memo1.Lines.Add(Antwort);
end;
until Ende;
end;


--- HILFE ---

MFG: Sonic

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt
Chughallen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 21



BeitragVerfasst: Fr 19.05.06 13:37 
Hallo.

Irgendwie sieht das auch sehr merkwürdig aus, was du da gemacht hast.
Zu deinem Programm gehört sicher mehr, als nur die Callback Funktion deines Button.

Ich gehe mal nicht davon aus, daß dein Programm mit einer Fehlermeldung abstürzt, sondern einfach nur nicht mehr reagiert.
Was ja auch kein Wunder ist, weil du mit deiner repeat - until Schleife jegliches abarbeiten von Messages unterbindest.
Setzt in deine repeat Schleife mal ein 'Application.ProcessMessages()', damit werden dann zumindest noch Nachrichten abgearbeitet.
Ich weiß jetzt ja nicht, wie der Rest des Codes aussieht aber einfach mal ein Writeln oder ReadLn auf ein Socket zu machen, ohne vorher sicherzustellen, daß der überhaupt connected ist, macht eventuell Ärger. Vor allem in einer Methode, die durch Knopfdruck ausgelöst wird, wenn nicht sichergestellt ist, daß der Knopf nur gedrückt werden kann, wenn auch eine Netzverbindung existiert.

Schau dir mal die Indy Beispiele an.

mfg