Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ajd ko zna neka pomogne, nemam vise ideja ...

[es] :: C programiranje :: Ajd ko zna neka pomogne, nemam vise ideja ...

[ Pregleda: 970 | Odgovora: 12 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 346
*.so.pttrs.net.



Profil

icon Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 14:55

Ej treba mi ovo mnogo !!!
Kako da izmedju MFC dialog based app. razmjenjujem vrijednosti varijabli ?
Znaci da kreiram recimo int a = 0; i sada ja tu vrijednost pozovem iz vise dialoga i svugdje da je vrijednost 0, pa recimo u jednom dialogu izvrsim promjenu te vrijednosti na recimo 5; i poslije toga u kojem god dialogu da pozovem a da je vrijednost 5.
Nikako da to ostvarim, a treba mi mnogo, jer pravim neku igru, a nikako mi nije dovoljan prostora na samo jednom dialogu, nego mi treba njih vise.
Ajd pomozite ako znate, j*bem se oko toga 7 dana, nemam vise ideja ..
29.07.2005. u 14:55 

3MAJ86
Marko Radić
Integration Developer, SBS
Filmski Grad

Član broj: 46087
Poruke: 136
*.smin.sezampro.yu.

Sajt: marko-radic.blogspot.com


Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 15:02
znash shta, u krajnjoj meri mozhesh da snimash tu vrednost u neki fajl, pa svaki put kada ti treba da je uchitavash... ako je jedna vrednost u pitanju netjesh izgubiti na brzini...

dodushe sigurno ima bolja metoda da se ovo odradi, ali ovo mi je prvo palo na pamet. ako smislim neshto bolje nakuckatju...
...seasons change, and so can I...
29.07.2005. u 15:02 

leka
Dejan Lekić
senior software engineer, 3Developers Ltd.
London, UK

Član broj: 234
Poruke: 2530
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 15:03
Promenljivu deklarisi u negde u glavnom fajlu (tamo gde je main() je dobro mesto) kao GLOBALNU. U modulima kasnije mozes koristiti tu varijablu odakle god zelis. U pitanju su osnovne C/C++ stvari - ako razvijas igru, onda se ocekuje da znas ove stvari...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
29.07.2005. u 15:03 

3MAJ86
Marko Radić
Integration Developer, SBS
Filmski Grad

Član broj: 46087
Poruke: 136
*.smin.sezampro.yu.

Sajt: marko-radic.blogspot.com


Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 15:20
da ali chovek radi u MFC-u... tu bash i nema main().

probaj da napravish header fajl u koje tjesh smestiti svoje globalne promenljive... meni je tako radilo kada sam pisao svog jadnog takmichara za Code Challenge :)
...seasons change, and so can I...
29.07.2005. u 15:20 

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 346
*.so.pttrs.net.



Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 15:30
Pravio sam ja header i to stalno radim, ali imam mogucnost samo da te vrijednosti korisitm u jednom dialogu.
I kada pokusam da ih korisitm u drugom dialogu, prijavi kresku da je ta vrijednost vec deklarisana u drugoj klasi.
A samo sam je pokusao iskoristiti za ispis u control edit-u.
29.07.2005. u 15:30 

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 346
*.so.pttrs.net.



Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 16:00
A ima par stvari, koje se dese kada napravim novi header i u njega stavim te promjenljive i pozovem tu vrijednost u vise dialoga.
1.Kompilacija uvijek prodje bez problema.
2.Program padne pri pokretanju debag/release sa greskom :
Code:
CD error LNK2005: "int a" (?a@@3HA) already defined in CDDlg.obj

Gdje je CDDlg ime dialoga.
3.Nekada se desi, ali veoma rijetko, da se program pokrene i vrijednost se ucita u svim dialozima bez ikakvih problema, znaci ako je a = 5, u svim je prikazano 5.

E sad zasto li on nekad padne, a nekad ne pri pokretanju, a kompilacija uvijek prodje bez ijednog problema !!!

29.07.2005. u 16:00 

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 346
*.so.pttrs.net.



Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 16:09
Mogu ovako da rijesim problem, ali ovo moze raditi samo lud covjek.
Da prije svakog pokretanja debaga, brisem ovaj *.obj fajl, tada se program pokrene bez problema i sve operacije sa tim brojem se odradjuju bez problema.
Al' ne mozes ti ovo raditi kada radis na app sa preko 1000 linija koda, svaki put brisati obj.
MORA postojati rjesenje ovog problema !!!
29.07.2005. u 16:09 

Burgos
Zrenjanin

Član broj: 12484
Poruke: 1275
*.smin.sezampro.yu.

ICQ: 290190857
Sajt: www.last.fm/user/Burgos


Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 16:15
U header fajlu promenljivu moras deklarisati kao extern.

Code:
extern int m_Global


a onda joj negde dodeliti vrednost (bilo gde)

Code:
int m_Global = 4


Tako ces sve dobiti
Dejane, vrati se :)
29.07.2005. u 16:15 

yooyo
Centroid / Technical director

Član broj: 4891
Poruke: 1101
*.pat-pool.bgd.sbb.co.yu.



Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 16:17
U jednom headeru (zajednickom za sve) napisi:

Code:
extern int g_Foo;

Na ovaj nacin naglasavas kompajleru da ce negde postojati ova promenljiva. Kompajler ce da zapamti ime a linker ce da spoji ime sa pravom globalnom promenljivom u fazi linkovanja.

A zatim taj header ukljuci u sve cpp i/ili h fajlove koji treba da ga koriste (tj. tame gde pristupas g_Foo). U SAMO jednom od CPP-ova napisi:

Code:
int g_Foo = 5;


i to je sve...

yooyo
29.07.2005. u 16:17 

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 346
*.so.pttrs.net.



Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 16:18
SKONTO SAM GA NARODE !!!!
Bio je problem u tome sto sam ga deklarisao u headeru, recimo int a = 5; i on kreira *.obj fajl sa ovom vrijednoscu a.
I kada ga pokrecemo dolazi do problema, ako smo negdje u kodu deklarisali a na drugu vrijednost.
Znaci samo deklarisite ovako recimo int a; A vrijednost mu dodajte negdje drugo u kodu.
Sada radi betprijekorno.
Napokon poslije 7 dana k*ranja sa ovim !
29.07.2005. u 16:18 

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 346
*.so.pttrs.net.



Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 16:21
Burgos, Yooyo nevidjoh vase odgovore, hvala vam to je to.Isti fazon !!!!:)
29.07.2005. u 16:21 

Ivan Dimkovic
Ivan Dimkovic
Vice President - Product and Business Development, Ci..
EU

Administrator
Član broj: 13
Poruke: 11786
*.dip.t-dialin.net.

Sajt: www.linkedin.com/in/ivand..


Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 16:23
Nemoj da stavljas globalne promenljive... ako ta aplikacija ikad postane DLL koga koristi vise niti, imacas probleme.

Hm - vise u duhu MFC-a je da stavis te clanove u implementaciju klase CWinApp na primer (to ti je glavna klasa u MFC-u, ako je tvoja aplikacija Proba, klasa se verovatno zove CProbaApp)

Parametar za pocetak mozes da stavis u public deo tvoje klase, mada je bolje da mu pristupas preko gettera i settera - u svakom slucaju i public ce odraditi posao.

Onda, gde god hoces da pristupis:

E posto tu stavis taj member - uvek mozes da mu pristupis preko:

Code:

CProbaApp *myApp = (CProbaApp *) AfxGetApp() ;

myApp->iMojaVarijabla = 5;


To ce ti videti svi dijalozi.

29.07.2005. u 16:23 

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 346
*.so.pttrs.net.



Profil

icon Re: Ajd ko zna neka pomogne, nemam vise ideja ...29.07.2005. u 16:30
Najbolje ga je deklarisati u konstruktoru glavnog dialoga .
29.07.2005. u 16:30 

[es] :: C programiranje :: Ajd ko zna neka pomogne, nemam vise ideja ...

[ Pregleda: 970 | Odgovora: 12 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.