fichier ini GetProfileInt
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
Code:
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); |
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:
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 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.
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.