Einzelnen Beitrag anzeigen

Bloodfire

Registriert seit: 17. Jun 2004
38 Beiträge
 
#1

Anzeige bringt fatalen Fehler

  Alt 27. Okt 2005, 20:40
Hi!

Folgendes:

Es wird auf den BtnNew geklickt und eine Info wird per TCP versandt:

Delphi-Quellcode:
procedure TBoardForm.BtnNewClick(Sender: TObject);
begin
   SendText('Info','NewGame');
end;
Delphi-Quellcode:
procedure TBoardForm.SendText(FKind, FTxt: String);
var
  ASendText: String;
begin
   //{
   try
    if TcpClient.Connect then
      begin
         ASendText:=FKind+'#'+FTxt;
         TcpClient.Sendln(ASendText);
      end;
   finally
     TcpClient.Disconnect;
   end;
   //}
end;

Dann wird sie empfangen, 'zerstückelt', ausgewertet und es wird je nach Info darauf reagiert:

Delphi-Quellcode:
procedure TBoardForm.TcpServerAccept(Sender: TObject;
  ClientSocket: TCustomIpClient);
var
  RecievedLn: String;
  i,j: Integer;
  RecievedKind: String;
  RecievedInfo: String;
begin
   RecievedLn:=ClientSocket.Receiveln;

   //{
   i:=0;
   while not(RecievedLn[i]='#')
     do inc(i);
   RecievedKind:=Copy(RecievedLn,0,i-1);

   if (RecievedKind = 'Info') then
     begin
        inc(i);
        j:=i;
        while not(length(RecievedLn)=i)
          do inc(i);
        RecievedInfo:=Copy(RecievedLn,j,i-j+1);

        if RecievedInfo = 'NewGame'
          then ShowMessage('Test!');
        //CheckInfo(RecievedInfo);
     end;
     //}
end;

Grundsätzlich passiert folgendes:
Die ShowMessage wird gezeigt, aber danach zickt das Programm. Wenn ich die Form beenden will meldet Delphi eine EAccessViolation (screenshot anbei: error1.jpg)

Ab und zu ist auch folgendes passiert:
Vor, bzw. während dem Anzeigen der ShowMessage (sie wird nicht mehr gezeichnet) tickt der PC komplett aus. Es hängt alles - jeder Task (auch Taskmanager). Jeder Bearbeitungsschritt (zb. Taskmngr öffnen / Task anklicken / etc.) braucht ca 20-30 Sekunden!!

Hin und wieder gab's vorher von Delphi eine Fehlermeldung -> anbei(error2.jpg)

Ich hoffe, mir kann jemand weiterhelfen!
Danke!
Miniaturansicht angehängter Grafiken
error_163.jpg   error2_200.jpg  
  Mit Zitat antworten Zitat