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

Forme(Dialozi) u VC++ - u

[es] :: C/C++ programiranje :: Forme(Dialozi) u VC++ - u

[ Pregleda: 2655 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

U76

Član broj: 23460
Poruke: 1
*.cmu.carnet.hr



Profil

icon Forme(Dialozi) u VC++ - u29.03.2004. u 11:24 - pre 243 meseci
1. Imam problem sa koristenjem DoModal() funkcije u VC++ - u. Pa ako netko ima drugi način ja bi ga želio znati...

2. I kad koristim DoModal() funkciju nakon drugog pokrećanja programa (prvi put radi) izbaci error koji kaže da fali ";" prije varijable.

3. Kako iz neke druge forme pokrenuti početnu formu
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Forme(Dialozi) u VC++ - u04.07.2004. u 13:48 - pre 240 meseci
Ako fali ; onda najčešće zaista fali ;, ali su moguće i druge greške. Da li možeš da pošalješ izvorni kod programa, jer je teško išta reći napamet?

f
 
Odgovor na temu

milanche
San Francisco

Član broj: 2447
Poruke: 1200
*.client.comcast.net



+1001 Profil

icon Re: Forme(Dialozi) u VC++ - u04.07.2004. u 18:34 - pre 240 meseci
Svaka dialog klasa se moze pokrenuti na dva nacina:
1) DoModal( ) je siledzijski nacin zato sto blokira sve thread-ove aplikacije, a
primenjuje se kad je svako daljnje izvrsavanje programa zavisno od vrednosti
podataka koji se unose preko dialog-a. Preduslov za ovo je da je vec postoji
objekat dialog klase

2) Create() pa zatim ShowWindow(SW_SHOW) je drugi nacin - uopste nije ekskluzivan
glavni prozor ostaje aktivan. Ovaj metod se vrlo slabo koristi - ako se hoce da
thread-ovi glavne aplikacije ostanu aktivni, onda se radije koristi GUI thread.
Ova mogucnost je vise rezultat necega sto dialog prozor ima nasledjeno od CWnd nego
sto to tako treba da se radi.

Problemi koje imas su vrlo cudni, i vise mi deluju kao problemi sa tvojom kopijom
VisualStudio-a ili sa hard drive-om nego sa bilo cime drugim vezanim za MFC. Posalji
kod, ili neku uproscenu verziju svog koda koja jasno manifestuje problem, pa da vidimo
sta se tu moze.
 
Odgovor na temu

ned
Australia

Član broj: 1263
Poruke: 23
*.lowrp1.vic.optusnet.com.au



Profil

icon Re: Forme(Dialozi) u VC++ - u07.07.2004. u 13:32 - pre 240 meseci
Moram napraviti primedbu da DoModal() blokira sve tredove aplikacije.
To je nemoguce i veoma nepozeljno. Sta bi bilo u situaciji da neki drugi tread drzi neki mutex ili CriticalSection. U slucaju da tread koji procesuje windows messages (poruke) za dialog mora da uzme isti mutex ili slicno,
onda bi se taj tread blokirao.

Nigde u dokumentaciji nisam naisao na taku neku informaciju.


----------------------------------------
 
Odgovor na temu

milanche
San Francisco

Član broj: 2447
Poruke: 1200
*.3.133.130.ptr.us.xo.net



+1001 Profil

icon Re: Forme(Dialozi) u VC++ - u07.07.2004. u 19:46 - pre 240 meseci
Proverio sam, u pravu si - DoModal( ) blokira samo prijem mouse i keyboard poruka usmerenih na parent dialog. Ne ometa u potpunosti cak ni main GUI thread.

Bilo je davno kad sam detaljno cackao ovaj problem, pa su mi se detalji nekih drugih,
slicnih problema pomesali sa DoModal( ) pricom.

Hvala na ispravci.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Forme(Dialozi) u VC++ - u

[ Pregleda: 2655 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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