|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Apr 2008
Messaggi: 1
|
[C++] applicazione comportamento anomalo nella gestione messaggi in Xp, Vista(home pr
- trattasi di applicazione client/server con db server Sybase
- progetto realizzato in MinGW Developer Studio 2.05 - compilatore gcc 3.4.2 - applicazione MDI così strutturata Frame Window->Mdi Client->MDI child window->Dialog Window - le form vengono create con CreateDialog() - i template resouce delle form hanno queste proprietà: DIALOGO - xStyle WS_CHILD, WS_VISIBILE, DS_CONTROL CONTROLLO - xExStyle WS_CONTROLPARENT xStyle WS_CHILD, WS_VISIBILE, WS_TABSTOP - nella procedure di MDIChil: - in WM_CREATE Setfocus(handle della form); - in WM_MDIACTIVATE SetFocus(GetWindow((HWND)SendMessage(g_hMDIClient, WM_MDIGETACTIVE,0,0),GW_CHILD)); - nel loop messaggi: if(!TranslateMDISysAccel(g_hMDIClient, &Msg) && (!IsDialogMessage(GetWindow((HWND)SendMessage(g_hMDIClient, WM_MDIGETACTIVE,0,0),GW_CHILD), &Msg))) { Testing in win98, win 2000 nessun problema gira molto bene Testing in Xp (problemi): dopo che ha fatto il logon (interrogazione il db, esegue store procedure..) non apre il programma ma da il messaggio "...si è verificato un errore.. " in ModName: ntdll.dll Testing in Vista (problemi): gestione messaggi (presumo) in quanto non si ha all’apertura il cursore sul primo controllo (edit), non funziona l’uso del tab per navigare tra i controlli (accedi al primo edit e premi tab il cursore sparisce e l’applicazione si blocca, mentre stranamente il Crtl+6 (passaggio tra le win) e il Ctrl+4 (chiusura win) funzionano ho provato a impostare la compatibilità dell'eseguibile (vista), tutte le possibili opzioni che vista mette a disposizione esegui come: 1. win95 problemi al lancio 1. win98 si blocca dopo la logon 2. NT 4 accedi al programma ma si pianta se interroghi il db 3. win2000 idem nt 4. xp idem nt 5. win serv 2003 idem nt il problema di navigazione sui controlli permane, e random l’applicazione si blocca. cercando ho trovato questo: "Windows Vista limita a 32 Megabytes la memoria allocabile da parte di software compilato con il compilatore GNU GCC. In pratica le richiete malloc() sono limitate a quelle dimensioni, ridicolo! SEMPLICEMENTE RIDICOLO! Cioe’ solo gli eseguibili compilati con un compilatore Microzozz e linkati con le API netive M$ possono allocare piu’ di 32 MB di RAM. Se si compila con GCC, il limite di memoria allocabile e’, appunto, di 32 MB….." articolo in http://www.vitadiunsysadmin.net/2007...dows-vista.mht chiedo se questo potrebbe essere la causa dei blocchi del programma, alcune volte quando delle form portano in modifica i dati, altre quando si esce dal programma, sempre quando si apre un tab control... ma non credo di arrivare ad allocare 32 mb uso new e delete per deallocare nei relativi file ... allora ho fatto un’applicazione test (MDI) che apre solo delle form senza interrogare il db, ma se tenti di spostarti da un campo all'altro con il tab si inchioda ugualmente come è possibile che l’applicazione abbia così tanti e diversi problemi tra xp e vista? sapendo che Mingw32 ha il compilatore gcc per Windows che utilizza la DLL di Windows "crtdll.dll" pensavo di prova a compilare il tutto in vista ed in xp secondo della distribuzione dell'applicazione, durante l’installazione di MinGWStudio in Vista nessun problema: compilando il file .rc esce l’errore: gcc: installation problem, cannot exec 'cc1': No such file or directory E:\MinGWStudio\MinGW\bin\windres.exe: no resources provo a settare per prime le variabile d'ambiente GCC_EXEC_PREFIX con relativo path … NIENTE, successivamente nell’IDE a settare i percorsi dal menu options di MinGW Studio tab directory, library file "C:\MinGWStudio\MinGW\libexec\gcc\mingw32\3.4.2" e resource file "C:\MinGWStudio\MinGW\bi" ... NIENTE compila solo i file cpp che macello considerando che son già in distribuzione … se non risolvo è un gran cas….!!!! Installando MinGW 3.4.5 in vista e compilando potrebbero sparire questi problemi? Idem per Xp??? Suggerimenti ?????? Ulteriori prove su Xp, installato MinGWStudio (stessa configurazione), compila tutto perfettamente: ma non si riesce ad utilizzare il Tab per i controlli si inchioda l'applicazione con errore szModName: hungApp |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:43.



















