На этапе компиляции все проходит без ошибок, а в момент исполнения кода имеем следующее:
Run-Time Check Failure ## - The variable 'sValue' is being used without being defined.
> Возник трабл и то ли я что то не догоняю, то ли... :)) > Имеем след. код: > > CRegKey myKey; > myKey.Open(.....); > LPSTR sValue; > ULONG lSize; > myKey.QueryStringValue("test", sValue, &lSize); > > На этапе компиляции все проходит без ошибок, а в момент > исполнения кода имеем следующее: > Run-Time Check Failure ## - The variable 'sValue' is being > used without being defined. > > Как это понять? Переменная то объявлена?!
Лучше использовать API (из advapi32.dll или Ntdll.dll) для работы с реестром.
ты память не выделил30.10.02 13:55 Автор: йцукенг <jcukeng> Статус: Member
> Возник трабл и то ли я что то не догоняю, то ли... :)) > Имеем след. код: > > CRegKey myKey; > myKey.Open(.....); > LPSTR sValue; > ULONG lSize; > myKey.QueryStringValue("test", sValue, &lSize); > > На этапе компиляции все проходит без ошибок, а в момент > исполнения кода имеем следующее: > Run-Time Check Failure ## - The variable 'sValue' is being > used without being defined. > > Как это понять? Переменная то объявлена?! LPSTR - это УКАЗАТЕЛЬ на строку.
естественно, что выдается ошибка, поскольку ты не только не выделил память плд строку но даже не проинициализировал указатель sValue.
будь внимательнее:)
ты память не выделил31.10.02 03:44 Автор: Dr. Nebula Статус: Незарегистрированный пользователь
> LPSTR - это УКАЗАТЕЛЬ на строку. > естественно, что выдается ошибка, поскольку ты не только не > выделил память плд строку но даже не проинициализировал > указатель sValue. > будь внимательнее:) Тенькс :) Буду :) Счас пока сделал через char Value[256]; потому что я ЛАМО :) и не знаю как сделать то что ты говоришь.. может подскажешь на этом примере?
а вот как31.10.02 17:34 Автор: йцукенг <jcukeng> Статус: Member
CRegKey myKey;
myKey.Open(.....);
LPSTR sValue;
ULONG lSize;
sValue=new char[1024];
myKey.QueryStringValue("test", sValue, &lSize);
...
delete [] sValue;
....
> > выделил память плд строку но даже не > проинициализировал > > указатель sValue. > > будь внимательнее:) > Тенькс :) Буду :) Счас пока сделал через char Value[256]; > потому что я ЛАМО :) и не знаю как сделать то что ты > говоришь.. может подскажешь на этом примере? Почитай MSDN, там все нормально написано.
Или Страуструпа(там тебя загрузят, но почитать всяко полезно).
удачи!