[BCB] przekazywanie obiektu do funkcji

0

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

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1