
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (20) « Первая ... 11 12 [13] 14 15 ... 19 20 все ( Перейти к последнему сообщению ) |
Сообщ.
#181
,
|
|
|
я где-то рассказывал про баг с CString-ами..
типа у них общий буфер получается.. вот пример.. проверьте плз.. может просто студия у меня кривая... Добавлено в поле надо ввести чтонить типа c:\test\test.test Прикреплённый файл ![]() |
Сообщ.
#182
,
|
|
|
А где вызов GetBuffer() до ReleaseBuffer()? Это называется "подлый приемчик". После добавления предварительного вызова GetBuffer() все встало на место.
|
Сообщ.
#183
,
|
|
|
а нафига вызывать GetBuffer(), если я скопировал объект... в 6-й студии или в 2003 мой пример работает..
Добавлено лучше другой конструктор CString-а просто вызывать... |
Сообщ.
#184
,
|
|
|
Цитата Muran @ а нафига вызывать GetBuffer() Потому что иначе вызов ReleaseBuffer() незаконен. Цитата MSDN void ReleaseBuffer( int nNewLength = -1 ); Releases control of the buffer allocated by GetBuffer. |
Сообщ.
#185
,
|
|
|
ok
|
Сообщ.
#186
,
|
|
|
Вопрос по редактору студии.
Никто не знает, как у него делается обратный tab ? То есть обычные переход на указанное в настройках количество пробелов вперед, а назад как ? Знаю что есть, но в упор забыл эту конбинацию клавиш. А то очень проблемно получается когда большой кусок скопируюешь, а у него формитирование сбивается на 1-2 таба вперед уходит. |
Сообщ.
#187
,
|
|
|
Цитата Devilguard @ То есть обычные переход на указанное в настройках количество пробелов вперед, а назад как ? Shift+Tab |
Сообщ.
#188
,
|
|
|
Проблемы с unresolved external symbol...
В файле main.cpp есть функция ![]() ![]() void SetMouseCapture(){ //ограничение перемещения мыши границами окна SetCapture(hWnd); RECT rect, rect_screen; POINT tmpPt; GetClientRect(hWnd, &rect); tmpPt.x = rect.left; tmpPt.y = rect.top; ::ClientToScreen(hWnd, &tmpPt); rect_screen.left = tmpPt.x; rect_screen.top = tmpPt.y; tmpPt.x = rect.right; tmpPt.y = rect.bottom; ::ClientToScreen(hWnd, &tmpPt); rect_screen.right = tmpPt.x; rect_screen.bottom = tmpPt.y; ::ClipCursor(&rect_screen); } Вылазит ошибка: ![]() ![]() error LNK2019: unresolved external symbol __imp__ClipCursor@4 referenced in function "void __cdecl SetMouseCapture(void)" (?SetMouseCapture@@YAXXZ) |
Сообщ.
#189
,
|
|
|
to Syberian:
![]() ![]() #pragma comment(lib, "User32.lib") |
Сообщ.
#190
,
|
|
|
2 Мальчишь:
Про for я не понял... Его куда, такого некрасивого??? |
Сообщ.
#191
,
|
|
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Добавлено это подпись ![]() |
Сообщ.
#192
,
|
|
|
Теперь у меня external'ы полезли в другом месте:
![]() ![]() glaux.Lib(tkdib.obj) : error LNK2019: unresolved external symbol __imp__SetDIBits@28 referenced in function _tkDIBImageLoadAW@8 И дофига причем ![]() |
Сообщ.
#193
,
|
|
|
добавь
![]() ![]() #pragma comment(lib, "Gdi32.lib") |
Сообщ.
#194
,
|
|
|
Собираю проект в 2005 Студии. Представляет он собой тришкин кафтан: и из 6.0 версии и из 2003 и из 2005.
Лезет следующая ошибка линковки ![]() ![]() atlsd.lib(atltrace.obj) : error LNK2005: "unsigned int (__stdcall* ATL::g_pfnGetThreadACP)(void)" (?g_pfnGetThreadACP@ATL@@3P6GIXZA) already defined in itcrutil.lib(itstring.obj) Прошу помощи! |
Сообщ.
#195
,
|
|
|
И так граждане товарищи, как я и обещал я нашел решение проблемы под Висту!
![]() Вот код который помогает решить вопросы Связанные с GetBestRoute(...): ////////////////////////////////////////////// MIB_IPFORWARDROW BestRoute; gw = 0; UInt32 ret = GetBestRoute(destAddr,0,&BestRoute); if(ret != NO_ERROR) { return false; } //if not local route(ret =4) if (BestRoute.dwForwardType == 4) { gw = BestRoute.dwForwardNextHop; GetBestRoute(gw,0,&BestRoute); } selfAddr = BestRoute.dwForwardNextHop; return bSuccess; ///////////////////////////////////////////// А вот добавленный код для Висты и прочего послед. мелкомягкого продукта: if ( selfAddr == 0 ) { #if WINVER >= 0x0501 // Windows Vista 0x0501 or 0x0600 //DWORD BestIfIndex; //GetBestInterface(gw, &BestIfIndex); // through the local ip address table find out one best route match . PMIB_IPADDRTABLE pIpAddrTable = NULL; ULONG addrTableSize = 0; bool bSuccess = false; // allocate the space if (ERROR_INSUFFICIENT_BUFFER == GetIpAddrTable(NULL, &addrTableSize, FALSE)) { pIpAddrTable = (PMIB_IPADDRTABLE) new char [addrTableSize]; } else { return false; // can't find source address for destination } if (NO_ERROR == GetIpAddrTable(pIpAddrTable, &addrTableSize, FALSE)) { // try to find a match for (DWORD i=0; i<pIpAddrTable->dwNumEntries; i++) { MIB_IPADDRROW &entry = pIpAddrTable->table[i]; if(entry.dwIndex == BestRoute.dwForwardIfIndex) { if ( (entry.dwAddr & entry.dwMask) == (gw & entry.dwMask) ) { selfAddr = entry.dwAddr; bSuccess = true; } else if( selfAddr == 0 ) { selfAddr = entry.dwAddr; bSuccess = true; } } } } delete [] (char *) pIpAddrTable; return bSuccess; #endif // WINVER >= VISTA Надеюсь кому-то это поможет! |