[ tos @ 30.04.2004. 14:59 ] @
hy,

pa dakle kako kaze naslov imam jedan problem
gdje treba deklarirati varijable da bi ih mogao koristiti u svim formovima, pokusao sam u formX.h i u svima includati to, pa ne radi pokusao sam jos puno stvari, ali bas i nije islo.... HELP PLEASE




hvala, tos
[ Dejan Lozanovic @ 30.04.2004. 15:44 ] @
Pa stavi te varijable u public deo klase i bice vidljive svima.
[ tos @ 30.04.2004. 16:21 ] @
mislis na public u .h file-u ili...? (znam pitanje je malo glupo ali nisam prije nikad radio s vise od jednog form-a)
[ NastyBoy @ 30.04.2004. 19:54 ] @
Stavi ih u "public" deo klase ("published" varijable, koje mozhesh da editujesh u Inspectoru su takodje public), ili, radi lepo ponashanja, stavi ih u protected ili private deo i obezbedi accessore - funkcije za pristup varijablama.

Npr
Code:

class TMyForm : public TForm
{
public :

     int __fastcall GetMyVariable()  { return MyVar; }

    //.... ostatak klase

private :

    int MyVar;
};

extern TMyForm * MyForm;


Iako "Forme" u Borlandu izgledaju pomalo drugachije od standardnih klasa, ipak su to samo plain-ol' C++ klase ;)


Onda cesh (pod uslovom da je forma TMyForm kreirana) iz druge forme da pozovesh neshto kao :

Code:

//...
int val = MyForm->GetMyVariable();
//...



Naravno, mnogo je lepshe deklarisati svoje promenljive kao "property", pa im tako pristupati, ali to je vec druga tema :)
[ leka @ 06.05.2004. 12:12 ] @
tos, ako iole malo znas C++ i imas fundamentalna znanja OO programiranja dovoljno ce ti biti da te podsetimo ovo:
- Forma, bilo u Borland C++ Builder-u, bilo u necem trecem je UVEK neka C++ klasa!
- Varijablama Forme, dakle KLASE, mozes pristupiti (menjati im vrednosti) iz drugih klasa na vise nacina, najlaksi nacin je da te varijable deklarises kao PUBLIC. Naravno, ovo moze biti los dizajn...
- Koji je drugi nacin? ;) Pomocicu ti - koja je razlika izmedju private i protected varijabli/metoda? Cemu sluzi klauzila friend?