Вниз
Скачать: CL | DM;

Проблема с RichEdit   Найти похожие ветки 

 
TAS ©   (2006-08-16 16:49) [0]

Проблема состоит в следующем:
Написал я прогу, которая пингует хосты и выводит сообщения о результатах в 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
и поток останавливается.

В чем моя ошибка?

Спасибо.


 
Zeqfreed ©   (2006-08-16 16:52) [1]

Попробую предположить, что RichEdit — не потокобезопасный компонент и все операции с ним нужно производить в контексте основного потока (См. TThread.Synchronize).


 
begin...end ©   (2006-08-16 16:54) [2]

> TAS ©   (16.08.06 16:49)
> В чем моя ошибка?

В обращении к RichEdit"у из неглавного потока?


 
Чапаев ©   (2006-08-16 17:11) [3]

> В обращении к RichEdit"у из неглавного потока?

...несинхронизированном. ;-)


 
TAS ©   (2006-08-17 11:49) [4]

Все, разобрался. Спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.031 c
2-1158132828
Олежек
2006-09-13 11:33
2006.10.01
Курсор


2-1157969374
Alex_KV
2006-09-11 14:09
2006.10.01
Про SetLength


2-1157707015
aromasloru
2006-09-08 13:16
2006.10.01
Болезнь имеет запах!


1-1154204021
Destroyer
2006-07-30 00:13
2006.10.01
MS Outlook


15-1158086887
1519
2006-09-12 22:48
2006.10.01
Меню пуск




   Наверх