Конференция "Начинающим" » использование потоков для передачи строковой информации [D7]
 
  • alexandr © (08.05.10 20:18) [0]
    Всем привет!
    С праздником Победы!
    У меня возник вопрос, на который я не могу найти ответ, возможно, он не такой сложный для тех, кто это уже прошел. При передаче строковой информации от сервера клиентам с использованием перебора потоков клиентов в LockList и отправке информации с помощью WriteStrings с заданной цикличностью в TTimer, клиент получает информацию, но она каждый раз прибавляется к ранее высланной  информации и поток увеличивается в арифметической прогрессии. Если кто может, подскажите в каком направлении копать, чтобы пересылалась только нужная информация?  Вопроса на сайте не нашел. Прошу помочь.
    Заранее спасибо.
  • Плохиш © (08.05.10 21:45) [1]

    > Если кто может, подскажите в каком направлении копать, чтобы
    > пересылалась только нужная информация?

    Подозреваю, что в 17й строке кода должно быть:
    sPeredavaemajaInformacija := '';

  • Сергей М. © (08.05.10 22:29) [2]

    > alexandr ©   (08.05.10 20:18)  


    Да кто ж тебя знает что ты там понахреновертил в своем коде..

    Но в 17й строке ошибка есть точно)
  • Sha © (09.05.10 13:58) [3]
    > alexandr ©   (08.05.10 20:18)

    Надо вставить очистку переданных или принятых данных.
  • alexandr © (09.05.10 23:12) [4]
    Спасибо за подсказку, перенес очистку текста strT.Text, поставил ее перед ReadStrings, проблема устранена.

    procedure TClientOnRec.Execute;

    begin
     strT:=TStringList.Create;
    // strT.Text:='';

     While not Terminated do
      begin
         If not form1.IdTCPClient2.Connected then

         Terminate
      else
     try
         strT.Text:='';

         form1.IdTCPClient2.ReadStrings(strT,-1);
 
Конференция "Начинающим" » использование потоков для передачи строковой информации [D7]
Есть новые Нет новых   [134437   +30][b:0][p:0.001]