как создать форму другом потоке
От: Аноним  
Дата: 16.07.04 13:08
Оценка:
Известно, чтобы создать окошко в другом десктопе, надо делать отдельный поток для этого окошка, который будет раздавать ему события.
Как это сделать в билдере?

Код, вроде нижеуказанного обламывается — "Canvas does not allow drawing", хотя взят из стандартного, DesktopForm больше нигде не создаётся:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
ThreadDesktop = new TThreadDesktop(false);
}

void __fastcall TThreadDesktop::Execute()
{
//---- Place thread code here ----
TApplication * Application = new TApplication(NULL);

try
{
Application->Initialize();
Application->CreateForm(__classid(TDesktopForm), &DesktopForm);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}

delete Application;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.