Dobry den,
chcel by som poprosit o radu. Robim jeden maly programik a narazil som na jeden problem. Urcite sa s tym uz niekto
z vas stretol...
V Borland c++ som si urobil jeden hlavny class form1. Okrem neho mam definovane dalsie 2 formy -> form2 a form3.
Z form1 volam form2 a form3 na stlacenie tlacitka.
class TForm1 : public TForm
{
...
public :
TForm2 *frm2;
TForm3 *frm3;
}
void TForm1::Button1Click(TObject *Sender)
{
if (frm2 == NULL)
{
frm2 = new TForm2(this);
}
frm2->Show();
}
void TForm1::Button2Click(TObject *Sender)
{
if (frm3 == NULL)
{
frm3 = new TForm3(this);
}
frm3->Show();
}
v evente onClose() nastavim form2 a form3 Action=caFree, teda sa samy uvolnia, problem vsak nastane s ukazovatelmi
v form1, nenastavia sa na NULL. Ako mozem poriesit to aby som ich nastavil na NULL? Do form2 a 3 mozem dat ukazovatel
na form1, a ked ukazovatele v form1 budu public mozem ich nastavit. Ale skor som potrebujem riesenie na tento typ:
void test()
{
int *i = new int;
*i = 10;
int *& j = i;
j = NULL;
}
alebo mozno
void func(int *& rpInt)
{
rpInt = NULL;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int *i = new int;
*i = 10;
func(i);
//i je teraz NULL
}
Chcem do form2 a do form3 dat referenciu na ukazovatel ktory ich zavolal a potom v formDestroy() ich nastavit na NULL.
Problem je ze mi to nejak nejde docielit s tym form1 :(
Vie niekto poradit?