Вниз
Скачать: 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.036 c
15-1157694691
Рамиль
2006-09-08 09:51
2006.10.01
Однако.


15-1157964847
Курдль
2006-09-11 12:54
2006.10.01
Вспоминаю ООП. С трудом :(


15-1157952106
Ega23
2006-09-11 09:21
2006.10.01
С Днём рождения! 10 сентября


4-1148823766
ффф
2006-05-28 17:42
2006.10.01
виртуальный com порт


15-1158134011
Stexen
2006-09-13 11:53
2006.10.01
Алгоритм Питера Гутмана




   Наверх