[BCPPB]CreateForm in een thread, loopt vast

Pagina: 1
Acties:

  • ADJVooDoo
  • Registratie: Januari 2001
  • Laatst online: 27-06 13:20
Ik probeer in een thread een form aan te maken met
Application->CreateForm(__classid(TFUploading),&FUploading);
Als ik break en step, komt hij niet meer van deze aanroep terug. In de contructor van het form gebeurt niks. Hoe kan dat en wat kan ik er tegen doen?

Verwijderd

ffies wat meer code posten :P

  • ADJVooDoo
  • Registratie: Januari 2001
  • Laatst online: 27-06 13:20
Sorry, moest even snel posten. Goed, meer informatie.

Dit alles doe ik inet C++ Builder 5.
Ik heb een main form, een andere form en een Thread object.

Het Thread object maak ik aan in de main form en start ik. Op een gegeven moment moet de thread het kleine form aanmaken, maar dat wil niet. Het kleine form is nog helemaal niet gemaakt en wil ik in de thread aanmaken met Application->CreateForm( bla bla, zie boven.)

Daar loopt hij in vast. Het programma doet niks meer en ik krijg ook geen fout melding. Als ik step en trace in het programma, dan loopt hij vast bij de constructor van het kleine form, die gemaakt moet worden. In de constructor gebeurt niks, dus zal er iets fout gaan in de constructor van TForm(Owner) die het form extends.

Dt kleine form maak ook wel eens in het gewone form aan en dat gaat goed. In de thread gaat het fout.

Kan wel code gaan posten, maar dat is zo groot allemaal.
Hij geeft geen compile errors.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Op vrijdag 12 juli 2002 13:06 schreef ADJVooDoo het volgende:
Het kleine form is nog helemaal niet gemaakt en wil ik in de thread aanmaken met Application->CreateForm( bla bla, zie boven.)
Zo create je normaal geen forms. Alleen de standaard opstartcode van BCB heeft daar zn redenen voor. Wat je normaal doet is dit:

TForm1 *Form1 = new TForm1(this);
try{
Form1->Show();
}__finally{
Form1->Free();
}

(Ik werk normaal met Delphi, dus ik kan wat vorm foutjes gemaakt hebben :) )

We adore chaos because we like to restore order - M.C. Escher