Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Непонятка с компилятором...


Автор: bass 7.4.2012, 11:26
Код ...


В этом ошибка...    error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [13]' to 'LPCWSTR'
Код

HMODULE HandleKernel = GetModuleHandle("Kernel32.dll");


Код

HMODULE HandleKernel = GetModuleHandle((LPCWSTR)"Kernel32.dll");



В коде который компилируеться смотрю отладчиком....
А в функцию передаеться аргумет "?????????"

Вижуал студио..... В билдере все ок проходит разьясните в чем дело.... Со сдудией работаю недавно.....

Заранее спасибо...




Автор: disputant 7.4.2012, 11:41
Цитата(bass @ 7.4.2012,  11:26)
В этом ошибка...    error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [13]' to 'LPCWSTR'

Вы передаете строку char, а ей надо строка wchar_t. Попробуйте вместо "строка" использовать L"строка".

Автор: bass 7.4.2012, 11:49
Спасибо....

Автор: Akira 7.4.2012, 12:13
bass
В студии там есть опцайка использовать юникод или анси. Что бы такого не было указывай явно GetModuleHandleW или GetModuleHandleA, ну или меняй опцию и да, там при создании проекта через мастер выбираешь создавать ли юникод проект.

Автор: GremlinProg 9.4.2012, 06:52
Цитата(disputant @  7.4.2012,  13:41 Найти цитируемый пост)
Вы передаете строку char, а ей надо строка wchar_t. Попробуйте вместо "строка" использовать L"строка".


Цитата(disputant @  7.4.2012,  13:41 Найти цитируемый пост)
Вы передаете строку char, а ей надо строка TCHAR. Попробуйте вместо "строка" использовать TEXT( "строка" ).


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)