Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] CRegKey - нужна помощь 30.10.02 04:27
Автор: Dr. Nebula Статус: Незарегистрированный пользователь
|
Возник трабл и то ли я что то не догоняю, то ли... :))
Имеем след. код:
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.
Как это понять? Переменная то объявлена?!
|
|
[C++] CRegKey - нужна помощь 02.11.02 13:46
Автор: Xemax Статус: Незарегистрированный пользователь
|
> Возник трабл и то ли я что то не догоняю, то ли... :)) > Имеем след. код: > > 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 Статус: Незарегистрированный пользователь
|
> > CRegKey myKey; > > myKey.Open(.....); > > LPSTR sValue; > > ULONG lSize; > > myKey.QueryStringValue("test", sValue, &lSize);
> 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, там все нормально написано.
Или Страуструпа(там тебя загрузят, но почитать всяко полезно).
удачи!
|
|
|