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

05.08.2005, 12:20

Beispielprogramm Nr.4

Hallo alle,

Ich hab mir das Buch gekauft, 2. Auflage, und hab angefangen zu lernen. Bei den Texturen, dem 4. Beispielprogramm gibt es bei mir allerdings einen Fehler, der mir ein Rätsel ist.
Die Initialisierung der Szene bricht ab, wie auch dann natürlich die Hauptfunktion.
Ich konnte den Fehler bis zur folgenden Funktion hin verfolgen, der Fehler muss irgendetwas mit der Funktion zu tun haben:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if(FAILED(hResult = D3DXCreateTextureFromFileEx(g_pD3DDevice,       // Device

                                                    "Texture.bmp",      // Dateiname

                                                    D3DX_DEFAULT,       // Breite

                                                    D3DX_DEFAULT,       // Höhe

                                                    D3DX_DEFAULT,       // MIP-Maps

                                                    0,                  // Verwendungszweck

                                                    D3DFMT_UNKNOWN,     // Format

                                                    D3DPOOL_MANAGED,    // Speicherklasse

                                                    D3DX_FILTER_NONE,   // Filter

                                                    D3DX_DEFAULT,       // MIP-Map-Filter

                                                    0,                  // Color-Key

                                                    NULL,               // Unwichtig

                                                    NULL,               // Unwichtig

                                                    &g_pTexture)))      // Die Textur

    {
        // Fehler!

        TB_ERROR_DIRECTX("D3DXCreateTextureFromFileEx", hResult, TB_ERROR);
    }


Eingegeben sollte sie eigentlich richtig sein, hab sie jetzt schon mehrmals überprüft. Die Textur befindet sich auch im Debug, bzw. dem Release Verzeichnis. Die Librarys habe ich alle eingebunden und die Funktion erkennt es auch.
Naja wäre froh wenn mir jemand helfen kann.
Vielen Dank im voraus.
Grüsslis

Dravere

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

05.08.2005, 12:53

Hol dir mal den Fehlercode.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

3

05.08.2005, 14:09

ich kann irgendwie den Fehlercode nicht geben, da ich es irgendwie selbst nicht begreife. Ich progge in C++ nun schon bald seit 2 Jahren, aber sowas ist mir doch noch nie passiert.
Der Wert, den D3DXCreateTextureFromFileEx zurückliefert und in hResult speichert ergibt mit dem Makro FAILED ein True, wodurch die If-Anweisung ausgeführt wird. Allerdings wenn ich ein Stop hinsetze und die Sache Debuggen will (also mit F5 starte), dann hält es zwar, aber ich kann den Wert von hResult nicht abrufen. Es steht dann nur HRESULT hResult. Und in die Funktion D3DXCreateTextureFromFileEx komme ich irgendwie auch nicht rein, sie wird einfach übersprungen. Bin völlig überfordert und komm nicht weiter.
Grüssli

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

05.08.2005, 16:39

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
hResult = D3DXCreateTextureFromFileEx(g_pD3DDevice,        // Device 

                                                    "Texture.bmp",        // Dateiname 

                                                    D3DX_DEFAULT,        // Breite 

                                                    D3DX_DEFAULT,        // Höhe 

                                                    D3DX_DEFAULT,        // MIP-Maps 

                                                    0,                    // Verwendungszweck 

                                                    D3DFMT_UNKNOWN,        // Format 

                                                    D3DPOOL_MANAGED,    // Speicherklasse 

                                                    D3DX_FILTER_NONE,    // Filter 

                                                    D3DX_DEFAULT,        // MIP-Map-Filter 

                                                    0,                    // Color-Key 

                                                    NULL,                // Unwichtig 

                                                    NULL,                // Unwichtig 

                                                    &g_pTexture));        // Die Textur

...
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

5

05.08.2005, 16:58

Das habe ich schon gemacht, dabei wird die Funktion einfach übersprungen und gar keine Textur angezeigt.
Grüssli

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

05.08.2005, 20:24

Du sollst doch nur den wert damit auslesen.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

7

05.08.2005, 20:29

Startest du das Programm aus deiner IDE heraus? Wenn ja kopier die Textur mal in den Projektordner

Anonymous

unregistriert

8

05.08.2005, 23:06

Ach ich bin doch ein Volltrottel ... ich möcht euch fast bitten mich schnell zu schlagen ^^ ...
Der Wert, welcher hResult zugeordnet wird ist: -2005529767
(Ich bekam keinen Wert da ich trottel im Release Modus debuggen wollte ^^) ...

Aber der Fehler ist immer noch da, ich hoffe ihr könnt nun mit dem was anfangen ;) ...


Und ich starte das Programm aus MS VS C++ .Net mit der Taste F5 ;)
Grüssli

Anonymous

unregistriert

9

05.08.2005, 23:07

Argh und wo ist hier den Edit button ... Ach ich bin ja Gast ... ähm Textur ist im Debug sowie im Release Ordner drin ;) ...
Grüssli

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

05.08.2005, 23:19

nein er mein den übergeordneten ordner-> den projekt ordner
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige