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.01.2009, 22:21

GetDirect3DParameters öffnet keinen Dialog

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!

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

2

16.01.2009, 17:39

soweit ich mich erinnere, musst du noch die resource des fensters einbinden. also eine datei namens "enum_dialog.RS" oder ähnlich inkludieren.
"Don't trust your eyes: They are a hell of a lot smarter than you are"