В момента съм в процес на пренасяне на пакет от MFC C++ приложения [MFC OLE Server] от VS 2003 (в момента работи на Windows XP) към VS 2010 – MFC7.1 (Windows 7).
Конкретното приложение, с което имам проблеми, се изгражда добре [като премахнах всяка отхвърлена функционалност], но когато се опитам да го стартирам, AfxGetThread() и AfxGetApp() във функцията по-долу [в winmain.cpp] връщат NULL.
// MFC AfxWinMain source code
int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
_In_ LPTSTR lpCmdLine, int nCmdShow)
{
ASSERT(hPrevInstance == NULL);
int nReturnCode = -1;
CWinThread* pThread = AfxGetThread();
CWinApp* pApp = AfxGetApp();
…
Има документация в Google за промяната на функцията AfxGetThread() между версиите на Visual Studio и за необходимостта от внедряване на ваша собствена версия на AfxGetThread() – но не мога да накарам рамката да извика тази функция правилно от моето приложение.
Ако някой има някакви идеи, ще бъде страхотно, благодаря, Jas