Как правильно изменить цвет Editа из потока?
Form1->Edit1->Color =clRed; //будет ли так работать без проблем?
//или надо как-то по-другому?
Работать будет, но позаботьтесь о синхронизации.
Цвет может поменяться, а может и нет.
Красный цвет у меня должен сигнализировать о превышении температуры
на промышленной установке, так что надо сделать правильно.
Cейчас выкрутился так:
Создаю свою функцию, которая вызывается при простое:
Application->onIdle=MyIdleHandler;
В ней написал 2 оператора:
Form1->Repaint();
Form1->InValidate();
Сам не понял, что сделал, но цвет стал меняться гарантированно.
P.S. Создаю поток с помощью функции CreateThread(...
Иначе прямой доступ может быть чреват трудноуловимыми глюками (несмотря на синхронизацию).