Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2013, 16:18   #1
D!zel
Пользователь
 
Регистрация: 23.12.2008
Сообщений: 74
По умолчанию Добавить строку в потоке

Привет всем.

Нужно добавить текст в RichEdit в потоке... Испробовал кучу вариантов, но ничего не получается...
Код выглядит следующим образом:

Код:
{класс потока}
type
 ThP = class(TThread)
  public
   constructor Create;
   destructor Destroy; override;
  protected
   procedure Add;
   procedure Execute; override;
  end;

var
 hP: ThP;

constructor ThP.Create;
begin
 inherited Create(False);
end;

destructor ThP.Destroy;
begin
 inherited Destroy;
end;

procedure ThP.Add;
var
 Text: string;
begin
... тут код, который "генерирует" текст и загоняет его в переменную Text ...
 Form1.RichEdit1.Lines.Add(Text);
end;

procedure ThP.Execute;
begin
 while not Terminated do
  begin
   Synchronize(Add);
  end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
...
 hP := ThP.Create;
 hP.Priority := tpNormal;
end;
Помогите, пожалуйста... третий день сижу, так и не понял, в чем проблема.

Последний раз редактировалось D!zel; 11.03.2013 в 16:20.
D!zel вне форума Ответить с цитированием
Старый 11.03.2013, 17:33   #2
D!zel
Пользователь
 
Регистрация: 23.12.2008
Сообщений: 74
По умолчанию

Проблема решена.
D!zel вне форума Ответить с цитированием
Старый 07.05.2015, 19:47   #3
Timoncheg
Новичок
Джуниор
 
Регистрация: 19.11.2013
Сообщений: 1
По умолчанию

Цитата:
Сообщение от D!zel Посмотреть сообщение
Проблема решена.
как решил?
Timoncheg вне форума Ответить с цитированием
Старый 07.05.2015, 21:12   #4
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Да, покажите от
Код:
unit Unit1; 
interface //до 
..........................
end.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 08.05.2015, 09:23   #5
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

Код:
procedure ThP.Execute;
begin
 while not Terminated do
  begin
   Synchronize(Add);
  end
end;
sleep(500) добавил в цикл?
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Listbox добавить строку Кольша Общие вопросы Delphi 1 12.01.2012 18:57
Добавить в файл строку(ошибка) MyLastHit Общие вопросы Delphi 11 14.01.2011 11:40
Добавить строку SkrudjMakdak Microsoft Office Excel 1 05.09.2010 18:06
Добавить строку в TStringList мимо Общие вопросы Delphi 11 17.02.2010 18:42
Добавить строку в ДБГрид и удалить MbIJIO БД в Delphi 4 18.04.2009 12:45