Доброго времени суток! Извиняюсь, возможно, вопрос будет нубский. у меня MSVS 2010. Собираю этот пример в дебаге нормально, а в релизе вот что выдает:
Цитата:
------ Build started: Project: L2Automatics, Configuration: Release Win32 ------
Build started 2/5/2012 6:51:39 PM.
InitializeBuildStatus:
Touching "Release\L2Automatics.unsuccessfulbuild".
ClCompile:
Configuration.cpp
Configuration.cpp(22): error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [17]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Configuration.cpp(26): error C2664: 'GetPrivateProfileStringW' : cannot convert parameter 1 from 'const char [6]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Configuration.cpp(28): error C2664: 'GetPrivateProfileStringW' : cannot convert parameter 1 from 'const char [6]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Build FAILED.
Time Elapsed 00:00:00.48
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
|
кусок кода, на который ругается:
Код:
void InitConfiguration( void )
{
// Получаем путь к папке с плагином
char FullPath[MAX_PATH+1];
/* строка 22 */ GetModuleFileName( GetModuleHandle( "L2Automatics.dll" ), FullPath, MAX_PATH+1 );
strcpy( &FullPath[ strlen(FullPath) - 3], "ini" );
char Buff[256];
GetPrivateProfileString( "Party", "AutoAcceptParty", "0", Buff, 256, FullPath );
sscanf_s( Buff, "%u", &g_bAutoAcceptParty );
GetPrivateProfileString( "Party", "LeaderName", "", g_pLeaderName, 17, FullPath );
};
Не уверен, можно ли данную проблему решить таким простым способом, но я заменил функции
GetModuleFileName, GetModuleHandle и GetPrivateProfileString на
GetModuleFileNameA, GetModuleHandleA и GetPrivateProfileStringA соответственно, так скомпилировалось без ошибок, но, что в случае дебага, что в случае релиза, когда я включаю данный плагин,
сообщения от сервера больше не показываются в логе пакетов, ну и, собственно,
автоприём пати не работает. что я не то делаю?
P.S.: даже в L2PacketHandler.cpp заменил кое-что, а именно:
Код:
void SP_AskJoinParty( unsigned char tid )
{
// Автоматический прием в пати
if( 1 ) { // в любом случае
char WhoAsk[17];
ReadS( WhoAsk );
if( !strcmp( "vo1ty", WhoAsk ) ) { // для ника vo1ty
L2NewPacket( L2P_RequestAnswerJoinParty );
WriteD( 0x00000001 ); // Принять приглашение
SendToServer( tid );
};
};
};
И все равно никакого автоприёма.
P.P.S.: Заранее спасибоу за совет. Пользоваться L2PHX начал только сегодня, опыт в С++ не очень-то большой, как видите, за что сразу извиняюсь.