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

17.07.2010, 18:30

Die 3D Schnittstelle wird nicht erstellt

Hallo,

Ich bins schon wieder.
Ich habe das Listign abgetippt im Buch seite 112.
Und bei mir kommt immer nur meine Messagebox, die mir sagt das es en Fehler gab und ich sie net erstellen konnte.
Ich habe mir auch das neueste Directx SDK runtergeladen (Junie 2010).
also wie gesagt code ist eigtl 1:1 abgetippt. Wisst ihr woran das liegt?

Euer Fearesseres

2

17.07.2010, 19:58

Naja um noch etwas hinzuzufügen...
ich benutze Win xp 64 bit, hab ne NVIDIA 8600 GT wenn das vll nen Grund bedeutet ;)

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

3

17.07.2010, 20:00

Zeig mal ein wenig Code für die, die das Buch nicht (zur Hand) haben.

Schon einmal SuFu bzw. Google benutzt?

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

4

18.07.2010, 20:49

Tadaaaa: schau!

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
#include "Windows.h"
#include "StdIO.h"
#include "D3D9.h"

#define D3D_DEBUG_INFO




int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   char* pcCmdLine,
                   int iShowCmd)
{
    PDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_VERSION);
    if(pD3D)
    {
        //Fehler!
        MessageBox(NULL, "3D Schnittstelle erstellen, fehlgeschlagen!", 
            "Fehler", MB_OK | MB_ICONWARNING);
        return 1;
    }

    //Anzahl der Adapter ermitteln
    int iNumAdapters = pD3D->GetAdapterCount();

    //Speicher reservieren und Informationen über jeden Adapter sammeln
    D3DADAPTER_IDENTIFIER9* pAdapters = new D3DADAPTER_IDENTIFIER9[iNumAdapters];

    for(int iAdapter = 0; iAdapter < iNumAdapters; iAdapter++)
    {
        if(FAILED(pD3D->GetAdapterIdentifier(iAdapter, 0,
            &pAdapters[iAdapter])))
        {
            //Fehler
            MessageBox(NULL, "Adapterinformationen konnten nicht abgefragt werden!",
                    "Fehler", MB_OK | MB_ICONEXCLAMATION);
            //Aufräumen
            pD3D->Release();
            delete[] pAdapters;
            return 1;
        }

        //AdapterInformationen anzeigen
        char acAdapterInfo[1024];
        sprintf(acAdapterInfo, "Adapter-ID: &d\n"
            "Name: %s\n"
            "Treiber: %s\n"
            "nTreiberversion: %d",
            iAdapter,
            pAdapters[iAdapter].Description,
            pAdapters[iAdapter].Driver,
            pAdapters[iAdapter].DriverVersion);

            MessageBox(NULL, acAdapterInfo, "Adapter gefunden",
            MB_OK | MB_ICONINFORMATION);
    }

    //Aufräumen
    pD3D->Release();
    delete[] pAdapters;

    return 0;
}

5

18.07.2010, 21:08

Sollte es nicht

C-/C++-Quelltext

1
2
3
4
5
if(!pD3D) // <- Du hast das "!" vergessen
{
    MessageBox(NULL, "Bla", "Bla", MB_OK);
    return 1;
}


heißen

6

18.07.2010, 21:21

:D hast recht, dann warsn Druckfehler.
hoppala, tja "if" lebt ohne Bedienung nunmal nicht :)
vielen dank x)

Werbeanzeige