Bonjour,
Voici mon problème, j'essaye d'utiliser la fonction GetProfileInt et cela ne marche pas. Je n'ai pas de problème à la compilation mais à l'exécution.
Voici une partie de mon code
Mon programme plante je lance alors le débogage et il me dit que la variable m_pszRegistryKey ne peut pas être évaluée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CString Section = "ECU1_Param00"; CString StringItem = "Size"; CWinApp* pApp = AfxGetApp(); int Value; Value = pApp->GetProfileInt(Section, StringItem, 0); printf("%d\n",Value);
Je découvre à peine l'utilisation des fichiers .ini, j'ai placé mon ini qui porte le même nom que mon_programme dans le même répertoire. J'ai bien respecté tout ce qui est balise et clef comme ce qui est dit dans le tutoriel http://c.developpez.com/faq/vc/?page...e#IniReadWrite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 UINT CWinApp::GetProfileInt(LPCTSTR lpszSection, LPCTSTR lpszEntry, int nDefault) { ASSERT(lpszSection != NULL); ASSERT(lpszEntry != NULL); if (m_pszRegistryKey != NULL) // use registry { HKEY hSecKey = GetSectionKey(lpszSection); if (hSecKey == NULL) return nDefault; DWORD dwValue; DWORD dwType; DWORD dwCount = sizeof(DWORD); LONG lResult = RegQueryValueEx(hSecKey, (LPTSTR)lpszEntry, NULL, &dwType, (LPBYTE)&dwValue, &dwCount); RegCloseKey(hSecKey); if (lResult == ERROR_SUCCESS) { ASSERT(dwType == REG_DWORD); ASSERT(dwCount == sizeof(dwValue)); return (UINT)dwValue; } return nDefault; } else { ASSERT(m_pszProfileName != NULL); return ::GetPrivateProfileInt(lpszSection, lpszEntry, nDefault, m_pszProfileName); } }
Je me demande s'il ne faut pas ouvrir dans mon programme le ini?
Si vous avez une solution merci d'avance pour votre aide.
Partager