Вниз
Скачать: 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.037 c
2-1157807035
DelphiN#1
2006-09-09 17:03
2006.10.01
СкринШоты


4-1148418602
GanibalLector
2006-05-24 01:10
2006.10.01
KeyboardLayout


4-1148653403
salexn
2006-05-26 18:23
2006.10.01
Получить Handle для файла SOFTWARE.LOG


2-1158085490
Doma
2006-09-12 22:24
2006.10.01
Работа с кодом проекта в design-time


15-1157708241
SerJaNT
2006-09-08 13:37
2006.10.01
Звуки




   Наверх