Avatar billede rozh Nybegynder
30. november 2003 - 16:56 Der er 1 kommentar og
1 løsning

indy bug. eller hvad ?

Rozh

jeg har downloadet indy's demoer på deres hjemmeside. Der er bla. en et chat prprgram. Her er en del af koden til den:


procedure TForm1.Timer1Timer(Sender: TObject);
var
  Com,
  Msg : String;
begin
  if not IdTcpClient1.Connected then
    exit;

  Msg := IdTCPClient1.ReadLn('', 5);

  if Msg <> '' then
    if Msg[1] <> '@' then
      begin
      { Not a system command }
        memLines.Lines.Add(Msg);
      end
    else
      begin
      { System command }
        Com := UpperCase(Trim(Copy(Msg, 2, Pos(':', Msg) -2)));
        Msg := UpperCase(Trim(Copy(Msg, Pos(':', Msg) +1, Length(Msg))));
        if Com = 'CLIENTS' then
          lbClients.Items.CommaText := Msg;
      end;

end;


Problemet er at programmet fryser ved:
Msg := IdTCPClient1.ReadLn('', 5);

og der forekommer ikke en timeout. Hvis serveren efter et stykke tid skriver noget til klienten, så kommer det op på skærmen, og den fryser så igen; det er altså ikke en crash, klientetns ReadLn kan bare ikke timeoute.

Jeg har samme problem på 2 pc, så det er nok ikke mit OS der er skyld i det..

nogen foreslag ?

mvh
Rozh
Avatar billede rozh Nybegynder
30. november 2003 - 18:31 #1
Avatar billede spykiller Nybegynder
01. december 2003 - 09:43 #2
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester