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

Anonymous

unregistriert

1

11.03.2006, 19:26

funktionen in dateien auslagern

funcs.h:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef funcs_h
#define funcs_h


#include <Windows.h>
#include <TriBase.h>

#include "Resource.h"
#include <d3d9.h>
#include "..\\..\\Allgemeines\\InitWindow.h"
#include "..\\..\\Allgemeines\\Direct3DEnum.h"
#include "..\\..\\Allgemeines\\InitDirect3D.h"
// ******************************************************************

// Initialisierungsfunktion

tbResult InitApplication();

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

// Herunterfahren der Anwendung

tbResult ExitApplication();
#endif //funcs_h


funcs.cpp:

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
77
78
79
#include "funcs.h"
// ******************************************************************

// Initialisierungsfunktion

tbResult InitApplication()
{
    tbResult Result;

    // TriBase-Engine initialisieren

    tbInit();

    // Direct3D-Optionen abfragen (vom Benutzer gewählt)

    Result = GetDirect3DParameters(&g_Direct3DParameters);
    if(Result == TB_ERROR)
    {
        // Es trat ein Fehler auf!

        MessageBox(NULL, "Fehler beim Abzählen!", "Fehler",
                   MB_OK | MB_ICONEXCLAMATION);
        return TB_ERROR;
    }
    else if(Result == TB_CANCELED)
    {
        // Der Dialog wurde abgebrochen!

        return TB_CANCELED;
    }

    // Fenster initialisieren. Die Größe hängt vom gewählten

    // Videomodus ab, der in der Parameterstruktur gespeichert ist.

    if(InitWindow(g_Direct3DParameters.VideoMode.Width,
                  g_Direct3DParameters.VideoMode.Height,
                  "Beispielprogramm Nr. 3: Das erste Dreieck",
                  LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1))))
    {
        // Fehler beim Erstellen des Fensters!

        MessageBox(NULL, "Fehler beim Erstellen des Fensters!",
                   "Fehler", MB_OK | MB_ICONEXCLAMATION);
        return TB_ERROR;
    }

    // Direct3D mit den abgefragten Einstellungen initialisieren

    if(InitDirect3D(&g_Direct3DParameters,
                    g_hWindow))
    {
        // Fehler!

        MessageBox(g_hWindow, "Fehler beim Initialisieren von Direct3D!",
                   "Fehler", MB_OK | MB_ICONEXCLAMATION);
        ExitApplication();
        return TB_ERROR;
    }

    // Szene initialisieren

    if(InitScene())
    {
        // Fehler!

        MessageBox(g_hWindow, "Fehler beim Initialisieren der Szene!",
                   "Fehler", MB_OK | MB_ICONINFORMATION);
        ExitApplication();
        return TB_ERROR;
    }

    // Alles OK!

    return TB_OK;
}

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

// Herunterfahren der Anwendung

tbResult ExitApplication()
{
    // Szene herunterfahren

    ExitScene();

    // Direct3D und Fenster herunterfahren

    ExitDirect3D();
    ExitWindow();

    // Engine herunterfahren

    tbExit();

    return TB_OK;
}


Fehler:

Zitat

:\graka\texturen\funcs.cpp(12) : error C2065: 'g_Direct3DParameters' : nichtdeklarierter Bezeichner
h:\graka\texturen\funcs.cpp(28) : error C2228: Der linke Teil von '.VideoMode' muss eine Klasse/Struktur/Union sein
h:\graka\texturen\funcs.cpp(28) : error C2228: Der linke Teil von '.Width' muss eine Klasse/Struktur/Union sein
h:\graka\texturen\funcs.cpp(29) : error C2228: Der linke Teil von '.VideoMode' muss eine Klasse/Struktur/Union sein
h:\graka\texturen\funcs.cpp(29) : error C2228: Der linke Teil von '.Height' muss eine Klasse/Struktur/Union sein
h:\graka\texturen\funcs.cpp(51) : error C2065: 'InitScene' : nichtdeklarierter Bezeichner
h:\graka\texturen\funcs.cpp(69) : error C2065: 'ExitScene' : nichtdeklarierter Bezeichner


Als ich vorher alles in einer Datei hatte funktionierte alles einwandfrei. Hab ich irgendwas übersehen?

Anonymous

unregistriert

2

11.03.2006, 19:32

Hat sich erledigt...globale variablen..grr :huhu:

Phili

unregistriert

3

13.03.2006, 03:43

Erstmal selber denken, dann fragen. Nach 6 Minuten bist du ja selber drauf gekommen.

Werbeanzeige