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

30.12.2003, 13:38

Hmmm Adapter Problem bei Listing 2.15 !

Hi,
ich bins mal wieder ... so hab die anderen Probleme endlich gelöst !! Wollte das Programm testen und was geschah beim starten erschien mir gleich nen Fehlerbildschirm !! Das eine Variable bzw. ein Ausdruck Null ist ... so ich klickte auf Abbrechen, sodass ich in den Debugmode von Visual C++ komme, und sehe das die Variable g_p_D3D = Direct3DCreate9(D3D_DSK_VERSION); leer ist ... heißt das das ich keine DirectX9 Adapter habe ?? Kann aber nicht sein: Ich hab DirectX9.0b installiert und die den neusten Datonartreiber für meine GeForce 4 Ti 4400.

Oder liegt es daran da ich ja einmal die Debug-Version von DirectX9 und die Release-Version drauf habe.

Naja ich hab mir jedenfals nen Wolf im Code gesucht aber find den Fehler net und so wie er im Buch steht (auf Seite 92-93) habe ich ihn auch geschrieben !!

Naja hoffe das mir einer helfen kann.
Albert Einstein:"Geniale Menschen sind selten ordentlich, Ordentliche jedoch selten genial".

2

30.12.2003, 13:41

mach mal nen GetLastError Call
Do, ut des!
Ceterum censeo, carthaginem delendam esse

3

30.12.2003, 13:47

Hmmm ich wüsste net was des bringen soll !! Ich weiß ja wo der Fehler liegt aber eben nicht wieso er da liegt !! Wenn du will mach ich mal nen Screenshot von dem Fehler der kommt wenn ich die *.exe starte !
Albert Einstein:"Geniale Menschen sind selten ordentlich, Ordentliche jedoch selten genial".

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

30.12.2003, 14:11

Laufen die Beispielprogramme von der CD?
Laufen die DirectX-SDK-Beispielprogramme?

5

30.12.2003, 18:59

Die DirectX Programme laufen und die Beispielprogramme (der TriBaseEngien) glaub ich auch.

Hmmm soll ich vielleicht mal den Code hierreinstellen ??
Albert Einstein:"Geniale Menschen sind selten ordentlich, Ordentliche jedoch selten genial".

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

30.12.2003, 22:07

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

int                     g_iNumAdapters;
D3DADAPTER_IDENTIFIER9* g_pAdapters;
PDIRECT3D9              g_pD3D = NULL;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* pcCmdLine, int iShowCmd)
{
    char acAdapterInfo[1024];

    g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
    if(g_pD3D = NULL)
    {
        MessageBox(NULL, "Fehler beim Erzeugen der Direct3D-Schnittstelle!",
                   "Fehler", MB_OK | MB_ICONEXCLAMATION);
        return 1;
    }
    
    g_iNumAdapters = g_pD3D->GetAdapterCount();
    g_pAdapters = new D3DADAPTER_IDENTIFIER9[g_iNumAdapters];

    for(int iAdapter = 0; iAdapter < g_iNumAdapters; iAdapter++)
    {
        
        if(FAILED(g_pD3D->GetAdapterIdentifier(iAdapter, 0, &g_pAdapters[iAdapter])))
        {

            MessageBox(NULL, "Adapterinformationen konnten nicht abgefragt werden!", "Fehler", MB_OK | MB_ICONEXCLAMATION);

            g_pD3D->Release();
            delete[] g_pAdapters;
            return 1;
        }

        sprintf(acAdapterInfo, "Adapter-ID: %d\nName: %s\nTreiber: %s\nTreiberversion: %d",
                iAdapter,
                g_pAdapters[iAdapter].Description,
                g_pAdapters[iAdapter].Driver,
                g_pAdapters[iAdapter].DriverVersion);

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

    g_pD3D->Release();
    delete[] g_pAdapters;
    
    return 0;
}


Sodelle das isser !!

Achso und die Programme (alle Beispiele) funtzen.
Albert Einstein:"Geniale Menschen sind selten ordentlich, Ordentliche jedoch selten genial".

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

30.12.2003, 23:02

Zitat von »"Flying_Ikarus"«

Quellcode

1
if(g_pD3D = NULL)

Fällt Dir da was auf?

9

30.12.2003, 23:08

Ouch ... sorry es war schon 2 Uhr am morgen *gg* O nein ... Mist ... Danke *gg*
Albert Einstein:"Geniale Menschen sind selten ordentlich, Ordentliche jedoch selten genial".

Werbeanzeige