Witam. Wie moze ktos jak dynamicznie tworzyc komponenty VCL w watku ??
Probowalem tak:
DWORD WINAPI T_RECV(LPVOID lpParam)
{
while(1)
{
//.....
recv(Sock1, (char *)&Recv_Msg, sizeof(Recv_Msg), 0);
int ktoTemp = Form1->szukaj_po_numerze(Recv_Msg.sender);
if(ktoTemp != (-1))
{
if(Form1->tablica_przyciskow[ktoTemp]->kno)//Jeżeli okno istnieje
{
ofstream plik ((ExtractFileDir(ParamStr(0))+ "\\Aktualne\\" + IntToStr(ktoTemp) + ".htm").c_str(),ios::app);
plik << "\n" << Recv_Msg.message;
plik.close();
Form1->tablica_przyciskow[ktoTemp]->komponenty_rozmowy.WebBrowser->Navigate(WideString(ExtractFileDir(ParamStr(0))+ "\\Aktualne\\" + IntToStr(ktoTemp) + ".htm").c_bstr(), 0, NULL, NULL, NULL);
}
else//Tworzenie okna
{
Form1->tablica_przyciskow[ktoTemp]->Forma = new TForm(Application);
Form1->tablica_przyciskow[ktoTemp]->Forma->BorderStyle = bsSizeable;
Form1->tablica_przyciskow[ktoTemp]->kno = true;
Form1->tablica_przyciskow[ktoTemp]->Forma->Top = ((Screen->Height / 2) - Form1->tablica_przyciskow[ktoTemp]->Forma->Height / 2);
Form1->tablica_przyciskow[ktoTemp]->Forma->Left = ((Screen->Width / 2) - Form1->tablica_przyciskow[ktoTemp]->Forma->Width / 2);
Form1->tablica_przyciskow[ktoTemp]->Forma->Width = 300;
Form1->tablica_przyciskow[ktoTemp]->Forma->Height = 300;
Form1->tablica_przyciskow[ktoTemp]->Forma->Caption = Form1->tablica_przyciskow[ktoTemp]->numer_gg;
Form1->tablica_przyciskow[ktoTemp]->Forma->Tag = Form1->tablica_przyciskow[ktoTemp]->Tag;
Form1->tablica_przyciskow[ktoTemp]->Forma->Show();
}
//.....
}
}
Program sie kompiluje ale niestety zawiesza przy wykonaniu tego kodu. Wie ktos moze w czym problem, czemu dynamiczne tworzenie komponentow VCL w watku nie chce dzialac ??