PDA

Ver la Versión Completa : Problemas con las indy


Novás
06-05-2004, 22:04:42
Hola a todos...

Estos días he estado mirándo el código fuente de un programa de chat que he encontrado al mirar los ejemplos de las indy y me he encontrado con un pequeño problemilla.

Cuando el programa cliente ejecuta el temporizador para descargar los mensajes del chat (IdTCPClient1.ReadLn('', 5);) éste se queda colgado hasta
que encuentra un mensaje y no me deja hacer nada.


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


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

if Msg<>'' then
begin
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;
end;


Este es el fragmento de código que me da problemas. El temporizador se ejecuta cada medio segundo

jachguate
06-05-2004, 23:33:56
Que versión de las indy tenes?... esto no debiera dar ningun problema, y devolver una cadena vacia si a los 5 milisegundos de ejecutado el readln no hay nada en el stack de tcp/ip.

:confused:

Será mejor que cambies de versión, pues probablemente haya algún bug. Si no tenes la última, date una vuelta por http://www.nevrona.com/indy.

Hasta luego.

;)

Novás
07-05-2004, 09:40:30
Exactamente tengo la versión que trae el delphi 7, creo que es la 9 pero no sabría decirte con exactitud.

Por lo referente a la página que me mencionas es precisamente de ahí de donde he sacado la versión del programa que estoy mirando...

jachguate
07-05-2004, 16:36:00
Pues aprovecha y actualizá la versión de la biblioteca, a la última disponible. Yo he usado el demo de chat en varias ocasiones, sin problema alguno... :eek:

Hasta luego.

;)