Показать сообщение отдельно
  #8  
Старый 12.03.2014, 15:45
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Alegun
Вероятно имелся ввиду классический вариант "своего" потока, типа как в примере из DRKB
Именно так
Цитата:
Сообщение от novashdima
Подробней пожалуйста. Имеется в виду Synchronize(MyThread.UpdateMemo) ?
Нет, не так. Например сделай StringList не локальной переменной, а полем своего класса MyThread:
Код:
type
  MyThread = class(TThread)
  private
    StringList: TStringList;
.....
  end;
тогда метод UpdateMemo будет выглядеть примерно так:
Код:
procedure MyThread.UpdateMemo({БЕЗ ПАРАМЕТРОВ});
begin
  Form1.Memo.Text := StringList.Text;
  Form1.Memo.Refresh;
end;
Цитата:
Сообщение от novashdima
Точно
Если параметры у метода UpdateMemo убрал с обоих мест, но всё равно выдаётся такая ошибка, то скорее всего ты вызываешь Synchronize не "изнутри" MyThread, а где-то из TForm1.

UPD. Ага. Пока я писал, смотрю ты уже нашёл у себя в чём ошибка.
Ответить с цитированием