Ich hab das Listening 2.22 aus dem Buch abgetippt mit ein Paar kleinen Änderungen die allerdings nicht am Endergebniss ändern sollten. Es gibt keine Fehlermeldungen beim kompilieren und wenn ich das Programm ausführe passiert einfach überhaupt nichts. :hobbi:
|
Quellcode
|
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
|
#include <windows.h>
#include <tribase.h>
#include "InitWindow.h"
#include "Direct3DEnum.h"
#include "InitDirect3D.h"
#include "Global.h"
//Render-Funktion
tbResult Render(float NumSecsPassed)
{
return TB_OK;
}
//Move-Funktion
tbResult Move(float NumSecsPassed)
{
return TB_OK;
}
//Windows-Hauptfunktion
int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hprevinst, LPSTR lpcmdline, int ncmdshow)
{
SDirect3DParameters Direct3DParameters;
tbResult Result;
//TriBase-Engine initialisieren
tbInit();
//Direct3D-Optionen abfragen (vom Benutzer gewählt)
Result = GetDirect3DParameters(&Direct3DParameters);
if(Result == TB_ERROR)
{
//Es trat ein Fehler auf!
MSG(NULL, "Fehler beim Abzählen!");
tbExit();
return 1;
}
else if(Result == TB_CANCELED)
{
//Der Dialog wurde abgebrochen
tbExit();
return 1;
}
//Fenster initialisieren. Die Grösse hängt vom gewählten Videomodus ab, der in der
//Parameterstruktur gespeicher ist.
if(InitWindow(Direct3DParameters.VideoMode.Width, Direct3DParameters.VideoMode.Height, "Listening 2.22", LoadIcon(hinst, MAKEINTRESOURCE(IDI_ICON1))))
{
//Fehler beim Erstellen des Fensters!
MSG(NULL, "Fehler beim Erstellen des Fensters!");
tbExit();
return 1;
}
//Direct3D mit den abgefragten Einstellungen initialisieren
if(InitDirect3D(&Direct3DParameters, g_hWindow))
{
//Fehler!
MSG(g_hWindow, "Fehler beim Initialisieren von Direct3D!");
ExitWindow();
tbExit();
return 1;
}
//Nachrichtenschleife
tbDoMessageLoop(Render, Move);
//Direct3D und Fenster herunterfahren
ExitDirect3D();
ExitWindow();
//Engine herunterfahren
tbExit();
return 0;
}
|
Die Datei 'Global.h' enthält den Code der Dateien 'resource.h', 'Allgemein.h' und das Makro
|
Quellcode
|
1
|
#define MSG(x,y) MessageBox(x, y, "Fehler", MB_OK | MB_ICONEXCLAMATION);
|
Ich habe die Dateien 'Direct3DEnum.cpp/.h', 'InitDirect3D.cpp/.h' und 'InitWindow.cpp/.h' im Projektordner und im Projekt eingebunden.
Was mache ich falsch???