Problem jest nastepujacy: mam kilka obiektow typu TImage i musze wielokrotnie zmieniac wartosci ich "enabled" z true na false i odwrotnie. Chce wiec napisac funkcje ktora bedzie to robic. Jednak deklaracja:
void funkcja()
{
Image1->Enabled=false;
...
Image10->Enabled=false;
}
nie dziala :( Jak temu zaradzic? Podobno pomocne bedzie uzycie konstruktorow, jednak nie mam pojecia o co chodzi...
Gotowy fragment kodu bardzo by mi pomogl :)
0
0
Ta funkcja przejdzie:
void FormXXX::funkcja()
{
Image1->Enabled=false;
...
Image10->Enabled=false;
}
gdzie FormXXX jest właścicielem kontrolek TImage
0
Niestety funkcja nieprzeszla:
"Qualifier Form1 is not a class or namespace name"
Bo rozumiem ze wlascicielem jest zawsze forma na ktorej lezy obiekt?
0
Jezeli funkcja jest zdeklarowana poza klasa to musisz zrobic tak:
Form1->Image1->Enabled = false;
....
Form1->Image10->Enabled = false;
A jezeli w klasie to tak jak napisal 0x666, tylko musisz dac jej deklaracje na przyklad w czesci
public
klay TForm1. Lepiej jest uzywac tego drugiego sposobu.
To oczywiste ze masz blad - dlatego ze Form1 jest tylko obiektem klasy TForm1. Powinienes napisac:
void TForm1::Funkcja(void)
{
....................
}
Przyjrzyj sie zreszta jak sa obsluzone standardowe zdarzenia, na przyklad OnClick, ktore tez sa funkcjami skladowymi.