Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизСтранное поведение программы Найти похожие ветки
← →
Ozone © (2004-03-09 13:41) [0]Есть поток:
TClientThread = class(TThread)
Client: TTcpClient;
procedure Execute; override;
procedure Disconnect;
procedure AddToList;
end;
{/*-----------------------------------------------------*/}
procedure TClientThread.Disconnect;
begin
Client.Disconnect;
end;
{/*-----------------------------------------------------*/}
procedure TClientThread.AddToList;
var
sTime: SYSTEMTIME;
begin
GetSystemTime(sTime);
MainForm.mStatistic.Lines.Add(IntToStr(sTime.wHour)+":"+
IntToStr(sTime.wMinute)+":"+
IntToStr(sTime.wSecond)+
" - connectection error)");
end;
{/*----------------------------------------------------*/}
procedure TClientThread.Execute;
const
WAIT = 20;
var
curTime, lastTime: SYSTEMTIME;
i: byte;
begin
Client := TTcpClient.Create(nil);
Client.RemoteHost := MainForm.RemoteHost;
Client.RemotePort := MainForm.RemotePort;
{*}
try
{**}
while (not Terminated) do begin
try
{***}
if Client.Connect then begin
{****}
{...}
break;
end
else begin // ждем 20 секунд
{*****}
GetSystemTime(curTime);
lastTime := curTime;
Synchronize(AddToList);
inc(curTime.wSecond,WAIT);
if curTime.wSecond >= 60 then
dec(curTime.wSecond,60);
while lastTime.wSecond <> curTime.wSecond do
GetSystemTime(lastTime);
end;
except
{******}
Synchronize(Disconnect);
end;
end;
finally
Client.Free;
end;
end;
Суть этого потока - отослать некоторые данные на сервер.
Поствил прогу на несколько компов (в одной комнате) - все нормально. Пошел в другую - поставил, запускаю - не работает.
Попытался проследить в чем дело, но не выяснил. А выяснил лишь только то, что прога доходит до "метки" {***}, а в
- {****}
- {*****}
- {******}
не попадает. Как быть? В чем проблема?
← →
Digitman © (2004-03-09 13:46) [1]
> В чем проблема?
комнаты разные - отсюда и проблема
← →
Ozone © (2004-03-09 13:48) [2]Нет, ну сеть то одна... (кстати сервер стоит в 1-й комнате)
← →
Digitman © (2004-03-09 13:48) [3]
> Как быть?
в "другой комнате", если там делфи не установлен, поставь пакет Borland Remote Debugger (дистрибутив поставляется штатно вместе с делфи) и отлаживай свой код удаленно
← →
Digitman © (2004-03-09 13:50) [4]
> кстати сервер стоит в 1-й комнате
да хоть в 1001-й !
учись отлаживать всои сетевые приложения удаленно
ничего сложного в этом нет, все выглядит точно так же, как если бы отлаживалось лок.приложение
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c