Показать сообщение отдельно
Старый 05.02.2012, 19:58   #3
Новичок
 
Регистрация: 05.02.2012
Сообщений: 2
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
vo1ty пока неопределено
По умолчанию

Доброго времени суток! Извиняюсь, возможно, вопрос будет нубский. у меня 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 начал только сегодня, опыт в С++ не очень-то большой, как видите, за что сразу извиняюсь.

Последний раз редактировалось vo1ty, 05.02.2012 в 20:07.
vo1ty вне форума   Ответить с цитированием