Guten abend,
habe irgendwie ein Problem mit der Funktion GetDirect3DParameters. Ich versuche das 2te Beispielprogramm im Buch zu schreiben. Das Programm funktioniert auch. Die Log-Datei der Engine bestätigt, dass alles ordnungsgemäß initialisiert und am Ende auch wieder freigegeben wird,
aber der Anwender bekommt aus einem mir unerklärlichen Grund nichts zu sehen...
Hier einmal mein Code...
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
//First complete programm which initializes
//Direct3D and creates a window
#include <Windows.h>
#include <TriBase.h>
#include <InitWindow.h>
#include <Direct3DEnum.h>
#include <InitDirect3D.h>
//Render-Funktion
tbResult Render(float fNumSecsPassed)
{
return TB_OK;
}
//Move-Funktion
tbResult Move (float fNumSecsPassed)
{
return TB_OK;
}
//Windows-Hauptfunktion
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
char* lpCmdLine,
int nShowCmd)
{
tbResult Result;
SDirect3DParameters Direct3DParameters;
//TriBase-Engine initialiseren
tbInit();
Result = GetDirect3DParameters(&Direct3DParameters);
tbWriteToLog("LALALALALA");
if (Result == TB_ERROR)
{
MessageBox(NULL, "Fehler beim Abzählen!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
tbExit();
return 1;
}
else if (Result == TB_CANCELED)
{
tbExit();
return 1;
}
//Fenster initialisieren
if (InitWindow(Direct3DParameters.VideoMode.Width, Direct3DParameters.VideoMode.Height, "Beispielprogrammierung Nr. 2: Direct 3D-Abzählung", NULL))
{
MessageBox(NULL, "Fehler beim Erstellen des Fensters!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
tbExit();
return 1;
}
//Direct3D initialiseren
if (InitDirect3D(&Direct3DParameters, g_hWindow))
{
MessageBox(g_hWindow, "Fehler beim Initialisieren von Direct3D!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
ExitWindow();
tbExit();
return 1;
}
tbDoMessageLoop(Render, Move);
//Direct3D und Fenster herunterfahren
ExitDirect3D();
ExitWindow();
//Engine herunterfahren
tbExit();
return 0;
}
|
Die anderen Units habe ich einfach von der CD übernommen...
Hoffe ihr findet den Fehler und schonmal Danke für alle Antworten!