Moin zusammen,
so langsam bin ich mit meinem Latein am Ende und stehe kurz davor, in die Tischkante zu beißen.
Ich hab ein Projekt (bisher nur aus GUI bestehend), welches ich unter Vista mit VS2005 entwickle. Das Ding läuft unter Vista auch ganz klasse, nur unter XP nicht. Weder die Debug, noch die Release-Version. Ich hab allerdings noch nicht versucht das unter XP zu kompilieren. (Werd ich wohl oder übel nochmal XP rauskramen müssen)
Hat jemand eine Idee wo das Problem liegen könnte?
Hier mal die Code-Auszüge, die offensichtlich für den Fehler verantwortlich sind:
CustomWndProc...
Code:
static LRESULT CALLBACK CustomWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
{
HWND hwndCtl = (HWND)lParam;
int code = HIWORD(wParam);
if (hwndCtl == g_hOKButton)
{
DestroyWindow(hWnd);
PostQuitMessage(0);
return 0;
}
}
break;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
Und die WinMain...
Code:
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
char* pcCmdLine,
int iShowCmd)
{
hInstance = 0;
const char* Win32ClassName = "WindowTest";
DWORD style = WS_POPUP | WS_MAXIMIZE;
g_hWnd = CreateWindow(Win32ClassName, "Output Window",
style, 0, 0, g_iWidth, g_iHeight,
NULL, NULL, hInstance, NULL);
RECT clientRect;
GetClientRect(g_hWnd, &clientRect);
g_pDevice = createDevice(video::EDT_DIRECT3D9, core::dimension2d<s32>(g_iWidth, g_iHeight), 32, true, true);
video::IVideoDriver* driver = g_pDevice->getVideoDriver();
g_pDevice->setWindowCaption(L"Output Window");
pGame = new CGameGD;
pGame->Init();
pGame->Load();
pGame->setGame2D(new CGame2D);
CGame2D* game2D = pGame->getGame2D();
game2D->Init();
game2D->Load();
g_eGameState = GS_GAME2D;
Eingebunden sind die irrlicht.h und die Windows.h (aus dem Server 2003 SDK)
Kompilieren und Ausführen unter Vista geht, wie gesagt, vollkommen fehlerfrei.
XP gibt beim (versuchten Start folgende Fehlermeldung aus)
"Diese Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren."
Die Anwendung versucht zu starten, die Auflösung wird auch noch geändert, aber dann sofort Kommando zurück und Fehlerpopup... Scheint also irgendwo direkt nach dem Erzeugen des Irrlicht-Devices aufzutreten, der Fehler.
Danke schonmal für die Hilfe
Sebastian