![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с RichEdit [D7, Win2k]
TAS © (2006-08-16 16:49:00)Проблема состоит в следующем:
Написал я прогу, которая пингует хосты и выводит сообщения о результатах в RichEdit. Пинг каждого хоста - отдельный поток.
При добавлении строки в RichEdit каждый поток использует процедуру:
procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
begin
with ARichEdit do
begin
SelStart:=Length(Text);
SelAttributes.Color:=AColor;
Lines.Add(String(AText));
end;
end;
При вызове этой процедуры вылетает ошибка:
Richedit line insertion error
и поток останавливается.
В чем моя ошибка?
Спасибо.
TAS (2006-08-17 11:49:00) [1]Все, разобрался. Спасибо!
Чапаев (2006-08-16 17:11:00) [2]> В обращении к RichEdit'у из неглавного потока?
...несинхронизированном. ;-)
begin...end (2006-08-16 16:54:00) [3]> TAS © (16.08.06 16:49)
> В чем моя ошибка?
В обращении к RichEdit'у из неглавного потока?
Zeqfreed (2006-08-16 16:52:00) [4]Попробую предположить, что RichEdit — не потокобезопасный компонент и все операции с ним нужно производить в контексте основного потока (См. TThread.Synchronize).