Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Странное поведение программы   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
1-1078484177
PiratA
2004-03-05 13:56
2004.03.28
Динамическое создание компонент...


4-1073289620
GrayFace
2004-01-05 11:00
2004.03.28
Как использовать функцию GetCharABCWidths?


14-1078405998
Multy
2004-03-04 16:13
2004.03.28
Нашёл тут класный анекдот


1-1078481197
Akella
2004-03-05 13:06
2004.03.28
Как изменить порядок просмотра объектов на форме


4-1073559818
Kelvin
2004-01-08 14:03
2004.03.28
создание формы на WinApi