Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

15.12.2009, 20:59

Probleme mit InitDuirect3D

Hallo habe Probleme mit dem Beispielprogramm 2:
Bekomme folgende Fehler :

Quellcode

1
2
3
4
5
6
7
8
9
1>c:\dokumente und einstellungen\sebastian\eigene dateien\daten sebastian\programmierung\c++\tribase\beispiele\allgemeines\initdirect3d.h(20) : error C2065: 'SDirect3DParameters' : undeclared identifier
1>c:\dokumente und einstellungen\sebastian\eigene dateien\daten sebastian\programmierung\c++\tribase\beispiele\allgemeines\initdirect3d.h(20) : error C2065: 'pParameters' : undeclared identifier
1>c:\dokumente und einstellungen\sebastian\eigene dateien\daten sebastian\programmierung\c++\tribase\beispiele\allgemeines\initdirect3d.h(20) : error C2275: 'HWND' : illegal use of this type as an expression
1>        c:\programme\microsoft sdks\windows\v6.1\include\windef.h(208) : see declaration of 'HWND'
1>c:\dokumente und einstellungen\sebastian\eigene dateien\daten sebastian\programmierung\c++\tribase\beispiele\allgemeines\initdirect3d.h(20) : error C2146: syntax error : missing ')' before identifier 'hWindow'
1>c:\dokumente und einstellungen\sebastian\eigene dateien\daten sebastian\programmierung\c++\tribase\beispiele\allgemeines\initdirect3d.h(20) : error C2078: too many initializers
1>c:\dokumente und einstellungen\sebastian\eigene dateien\daten sebastian\programmierung\c++\tribase\beispiele\allgemeines\initdirect3d.h(20) : error C2275: 'HWND' : illegal use of this type as an expression
1>        c:\programme\microsoft sdks\windows\v6.1\include\windef.h(208) : see declaration of 'HWND'
1>c:\dokumente und einstellungen\sebastian\eigene dateien\daten sebastian\programmierung\c++\tribase\beispiele\allgemeines\initdirect3d.h(20) : error C2059: syntax error : ')'



Und hier 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
#include "Tribase.h"
#include "InitWindow.h"
#include "InitDirect3D.h"
#include "Direct3DEnum.h"
#include "Resource.h"
#include <Windows.h>

struct SVertex
{
    tbVector3 vPosition;
    DWORD dwColor;
};

// Render-Funktion

tbResult Render(float fNumSecsPassed)
{
    return TB_OK;
}

// ******************************************************************

// Move-Funktion

tbResult Move(float fNumSecsPassed)
{
    return TB_OK;
}

tbResult InitScene()
{
    HRESULT hResult;

    
    return TB_OK;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
    tbInit();
    
    SDirect3DParameters DirectParameters;

    tbResult Result =   GetDirect3DParameters(&DirectParameters);
    if (Result == TB_ERROR)
    {
        MessageBox(NULL,"Fehler beim Abzählen,","Fehler", MB_OK | MB_ICONEXCLAMATION);
    }

    InitWindow(DirectParameters.VideoMode.Height,DirectParameters.VideoMode.Width,"Beispiel1", LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)));
        





    tbDoMessageLoop(Render, Move);
    
    ExitDirect3D();
    ExitWindow();

    tbExit();
    return 0;
}


Weiß nicht sorecht weiter, da ich alle nötigen Datein eingebunden habe?
weiß jemand Rat?

2

15.12.2009, 21:00

Du hast InitDirect3D nicht aufgerufen
Metal ist keine Musik sondern eine Religion.

3

15.12.2009, 21:05

Muss nicht noch ein #include "Allgemeines.h" Rein ?

EDIT: 400. Beitrag :D

4

16.12.2009, 20:53

Leider hat das Einbinden der Allgeimes.h wenig gebracht.Es treten immer noch die gleichen Fehler auf.

5

17.12.2009, 14:47

hat jemand noch eine Idee?

6

17.12.2009, 14:50

hast du d3d9.h includiert? Die brauchst du nähmlich. Alle Libs angegeben?(TriBase.lib,d3d9.lib,...)
Metal ist keine Musik sondern eine Religion.

7

17.12.2009, 19:16

Hallo . Ja das habe ich gemacht. Hier noch mla mein komletter 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
#include "Allgemeines.h"
#include <Windows.h>
#include <Tribase.h>
#include "InitWindow.h"
#include "InitDirect3D.h"
#include "Direct3DEnum.h"

#include "d3d9.h"

#include "Resource.h"


struct SVertex
{
    tbVector3 vPosition;
    DWORD dwColor;
};

// Render-Funktion

tbResult Render(float fNumSecsPassed)
{
    return TB_OK;
}

// ******************************************************************

// Move-Funktion

tbResult Move(float fNumSecsPassed)
{
    return TB_OK;
}

tbResult InitScene()
{
    HRESULT hResult;

    
    return TB_OK;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
    tbInit();
    
    SDirect3DParameters DirectParameters;

    tbResult Result =   GetDirect3DParameters(&DirectParameters);
    if (Result == TB_ERROR)
    {
        MessageBox(NULL,"Fehler beim Abzählen,","Fehler", MB_OK | MB_ICONEXCLAMATION);
    }

    InitWindow(DirectParameters.VideoMode.Height,DirectParameters.VideoMode.Width,"Beispiel1", LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)));
        





    tbDoMessageLoop(Render, Move);
    
    ExitDirect3D();
    ExitWindow();

    tbExit();
    return 0;
}


Spielt die Reihenfolge der include dateien eine rolle

8

17.12.2009, 19:21

mach mal <d3d9.h>
Metal ist keine Musik sondern eine Religion.

9

17.12.2009, 19:22

Leider keine Verbesserung

10

17.12.2009, 19:23

Du rufst immer noch kein InitDirect3D(); auf!!!!!
Metal ist keine Musik sondern eine Religion.

Werbeanzeige