18. august 2005 - 10:44Der er
7 kommentarer og 1 løsning
Hvorfor kan en constructor ikke kalde en constructor ?
Jeg har 2 næsten ens constructore til min unit, så for ikke at skrive det samme kode flere gange har jeg genbrugt, men det virker ikke: __fastcall TCommonControls::TCommonControls(TForm *lParent, unsigned char noFixSites, bool MultiCustomer, TBSIniFile **lUserIni) { UserIni = *lUserIni; TCommonControls(lParent, noFixSites, MultiCustomer); }
De ovjector der bliver oprettet i nummer 2 constructor (den med 3 inputs), bliver i virkligheden ikke oprettet. Istedet for har jeg gjort sådan her: __fastcall TCommonControls::TCommonControls(TForm *lParent, unsigned char noFixSites, bool MultiCustomer, TBSIniFile **lUserIni) { UserIni = *lUserIni; Parent = lParent; CreateCommonControls(noFixSites, MultiCustomer); }
void TCommonControls::CreateCommonControls(unsigned char noFixSites, bool MultiCustomer) { ..... og det virker. Hvorfor det ? Hvad sker der når en construstor kalder en anden constructor ?
segmose: det er jo egentligt også det jeg har nu, og har sendt i spørgsmålet. Men tak til jeg alle for svarene. jpk du skal ha pointene for at være først med et rigtigt svar (og også et forkert svar for den sags skyld :).
Over and out...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.