[ zrnvltc @ 25.12.2009. 09:34 ] @
Pozdrav svima.
Zelim deklarisati AnsiString niz i popuniti vrednostima koji ce biti dostupan
svakom unitu u projektu, tako da kad dodajem novi podatak u niz bude
automatski dostupan svima.
Kako to da uradim.
Unapred hvala
[ Mihajlo Cvetanović @ 25.12.2009. 10:20 ] @
U standardnom cpp tu je std::vector<std::string>, a u MFC-u tu je CStringArray. Kojeg god da je tipa ta promenljiva treba da bude globalna. U nekom .cpp fajlu treba da stoji definicija, a u odgovarajućem .h fajlu deklaracija (dodato extern na definiciju). Svi koji treba da vide promeljivu treba da urade #include od .h fajla. Situacija se komplikuje ako imaš više niti u programu. U tom slučaju svaki pristup ovoj promenljivoj mora da bude sinhronizovan (kritičnom sekcijom recimo).
[ X Files @ 25.12.2009. 10:25 ] @
Citat:
Zelim deklarisati AnsiString niz i popuniti vrednostima koji ce biti dostupan svakom unitu u projektu

Koncept zajedničkih podataka, koji su logički zapravo sastavni deo više 'modula', može se razrađivati na mnogo ozbiljnijem nivou. Na primer ako je potrebno implementirati neki mehanizam za obaveštavanje drugih modula o nastalim promenama, ili upravljanje redosledom (pomenuo je Mihajlo) i prioritetom menjanja i sl.

U svakom slučaju, u Borland C++ Builderu se osnovni problem 'vidljivosti' podataka iz drugih Unita rešava na isti način kao i kod standardnog pristupa C/C++ jezicima.

Na tebi je samo da odabereš hoćeš li rešenje koje je u duhu OOP-a ali ćeš se zadržati na nekim drugačijim principima. Recimo, ovde imaš nekoliko konkretnih primera (samo umesto int koristi AnsiString):
http://www.elitesecurity.org/t253600