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

dauerzocker

Frischling

  • »dauerzocker« ist der Autor dieses Themas

Beiträge: 18

Beruf: Schüler

  • Private Nachricht senden

1

06.02.2010, 17:05

Problem beim Listing 2.51

Hi,
ich stecke beim Beispielprogramm, wo man die Grafiarte abfragt, fest.
Hir das Programm:

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
#include <windows.h>
#include <stdio.h>
#include <d3d9.h>

int WINAPI(HINSTANCE hInstance,
           HINSTANCE hInstance,
           char* pcCmdLine,
           int iShow)
{
        PDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_Version);
        if(pD3D)
        {
        {MessageBox(NULL, "Fehler beim Erzeugen der Direct3D-Schnittstelle!",
                    "Fehler", MB_OK | MB_ICONEXCLAMATION);
        return 1;
        }

        int iNumAdapters = pD3D->GetAdapterCount();

        D3DADAPTER-IDENTIFIER9* pAdapter = new D3DADAPTER-IDENTIFIRT9[iNumAdapters];

        for(int iAdapter = 0; iAdapter < iNumAdapters; iAdapter++)
        {
            if(FAILED(pD3D->GetAdapterIdentifier(iAdapter, 0, &pAdapters[iAdapter])))
            {
                MessageBox(NULL, "Adapterinformationen konnten nicht Geladen werden!",
                           "Fehler", MB_OK | MB_ICONEXCLAMATION);

                pD3D->Realse();
                delete[] pAdapters;
                retzrn 1;
            }

            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),
        }

        pD3D->Release();
        delete[] pAdapters;

        return 0;
}


Ich hab mit den Erforderlichen Bibliotheken gelinkt, aber es kommt nur folgende Fehlermeldung heraus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
1>------ Erstellen gestartet: Projekt: Test, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Test_1.cpp
1>.\Test_1.cpp(1) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "windows.h": No such file or directory
1>Projekt : warning PRJ0018 : Folgende Umgebungsvariablen konnten nicht gefunden werden:
1>$(C:\Bibilotehken\TriBase)
1>$(C:\Bibilotehken\Platform SDK)
1>$(C:\Bibilotehken\DirectX SDK)
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Martin\Desktop\Hauptordner\Programme\Meine Porgrame\Uncompilirt\Test\Test\Debug\BuildLog.htm" gespeichert.
1>Test - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Das das Programm die Datei Windows.h nich finden kann is mir schon klar, aber wieso? Hab die Pfade wie im Buch beschrieben hinzugefügt, was mache ich also falsch?

Hoffe ihr könnt mir helfen.

2

06.02.2010, 17:24

Hallo Dauerzocker! ;)

Welche IDE verwendest du?
Sieht so aus, als ob bei der Installation was daneben gegangen ist...

dauerzocker

Frischling

  • »dauerzocker« ist der Autor dieses Themas

Beiträge: 18

Beruf: Schüler

  • Private Nachricht senden

3

06.02.2010, 18:18

Ich benutze Visual C++ 2005.

4

06.02.2010, 18:20

Besser du holst dir das Aktuelle (in den Express Editions free):

http://www.microsoft.com/express/Windows/

dauerzocker

Frischling

  • »dauerzocker« ist der Autor dieses Themas

Beiträge: 18

Beruf: Schüler

  • Private Nachricht senden

5

07.02.2010, 16:32

Hab die neue Version runtergelden und installiert, dann die Pfade angegeben und es nochmal probiert. Allerdings ist es jetzt Schlimmer als vorher. Er finded jezt offenbar die Include Datei, aber ich hab ein Haufen anderer Fehler:

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
1>------ Erstellen gestartet: Projekt: Test, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Test_1.cpp
1>.\Test_1.cpp(10) : error C2065: 'D3D_SDK_Version': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(20) : error C2065: 'D3DADAPTER': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(20) : error C2065: 'IDENTIFIER9': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(20) : error C2065: 'pAdapter': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(20) : error C2061: Syntaxfehler: Bezeichner 'D3DADAPTER'
1>.\Test_1.cpp(24) : error C2065: 'pAdapters': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(29) : error C2039: 'Realse': Ist kein Element von 'IDirect3D9'
1>        C:\Programme\Microsoft SDKs\Windows\v6.0A\\include\d3d9.h(276): Siehe Deklaration von 'IDirect3D9'
1>.\Test_1.cpp(30) : error C2065: 'pAdapters': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(30) : error C2541: 'delete': Objekte, die keine Zeiger sind, können nicht gelöscht werden
1>.\Test_1.cpp(31) : error C2065: 'retzrn': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(31) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Konstante'
1>.\Test_1.cpp(40) : error C2065: 'pAdapters': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(40) : error C2228: Links von ".Description" muss sich eine Klasse/Struktur/Union befinden.
1>.\Test_1.cpp(41) : error C2065: 'pAdapters': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(41) : error C2228: Links von ".Driver" muss sich eine Klasse/Struktur/Union befinden.
1>.\Test_1.cpp(42) : error C2065: 'pAdapters': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(42) : error C2228: Links von ".DriverVersion" muss sich eine Klasse/Struktur/Union befinden.
1>.\Test_1.cpp(44) : error C2065: 'Null': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(45) : error C2065: 'MB': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(45) : error C2065: 'ICONINFORMATION': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(46) : error C2059: Syntaxfehler: '}'
1>.\Test_1.cpp(49) : error C2065: 'pAdapters': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(49) : error C2541: 'delete': Objekte, die keine Zeiger sind, können nicht gelöscht werden
1>.\Test_1.cpp(53) : fatal error C1075: Dateiende erreicht, bevor das zugehörige Element für das linke Element Klammer "{" in ".\Test_1.cpp(9)" gefunden wurde
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Martin\Desktop\Hauptordner\Programme\Meine Porgrame\Uncompilirt\Test\Test\Debug\BuildLog.htm" gespeichert.
1>Test - 24 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Warum das jetzt?

6

07.02.2010, 16:35

Hast du die notwendigen Libs (d3d9.lib usw.) eingetragen?

Haufen Schreib-/Syntaxfehler: Realse, retzrn, Null...

7

07.02.2010, 16:41

Sogar fast alles Tippfehler, oder nichtbeachtung dessen, das c++ Case-Sensitive ist.
Ausserdem is bei der If-Bedingung ne { zuviel ;)

dauerzocker

Frischling

  • »dauerzocker« ist der Autor dieses Themas

Beiträge: 18

Beruf: Schüler

  • Private Nachricht senden

8

07.02.2010, 17:03

man, bin ich wirklich so dämlich??
das was ich an Fehlern Finden konnte hab ich ausgebessert:

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
#include <windows.h>
#include <stdio.h>
#include <d3d9.h>

int WINAPI WinMain(HINSTANCE hInstance,
           HINSTANCE hPrevInstance,
           char* pcCmdLine,
           int iShow)
{
        PDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_VERSION);
        if(!pD3D)
        {
        MessageBox(NULL, "Fehler beim Erzeugen der Direct3D-Schnittstelle!",
                    "Fehler", MB_OK | MB_ICONEXCLAMATION);
        return 1;
        }

        int iNumAdapters = pD3D->GetAdapterCount();

        D3DADAPTER_IDENTIFIER9* pAdapters = new D3DADAPTER_IDENTIFIRT9[iNumAdapters];

        for(int iAdapter = 0; iAdapter < iNumAdapters; iAdapter++)
        {
            if(FAILED(pD3D->GetAdapterIdentifier(iAdapter, 0, &pAdapters[iAdapter])));
            {
                MessageBox(NULL, "Adapterinformationen konnten nicht Geladen werden!",
                           "Fehler", MB_OK | MB_ICONEXCLAMATION);

                pD3D->Release();
                delete[] pAdapters;
                return 1;
            }

            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);
        }

        pD3D->Release();
        delete[] pAdapters;

        return 0;
}


Hab aber immer noch Fehler, wo ich mir jetzt sicher bin, das ich sie richtig abgeschrieben habe:

Quellcode

1
2
3
4
5
6
7
8
9
1>------ Erstellen gestartet: Projekt: Test, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Test_1.cpp
1>.\Test_1.cpp(20) : error C2061: Syntaxfehler: Bezeichner 'D3DADAPTER_IDENTIFIRT9'
1>.\Test_1.cpp(45) : error C2065: 'MB': nichtdeklarierter Bezeichner
1>.\Test_1.cpp(45) : error C2065: 'ICONINFORMATION': nichtdeklarierter Bezeichner
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Martin\Desktop\Hauptordner\Programme\Meine Porgrame\Uncompilirt\Test\Test\Debug\BuildLog.htm" gespeichert.
1>Test - 3 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Is da vieleicht im Buch ein Druckfehler??

9

07.02.2010, 17:05

D3DADAPTER_IDENTIFIRT9 naja ----> D3DADAPTER_IDENTIFIER9

MB-ICONINFORMATION --> MB_ICONINFORMATION

dauerzocker

Frischling

  • »dauerzocker« ist der Autor dieses Themas

Beiträge: 18

Beruf: Schüler

  • Private Nachricht senden

10

07.02.2010, 17:40

dss Programm leuft, aber es kann keine Adapterinformationen finden.
Is das schlimm??

Werbeanzeige