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

01.01.2004, 02:15

Einsteigerprobleme v1.0

ich habe inzwischen versucht direct3d zu initialisieren stoße jedoch auf folgend Fehler:

--------------------Konfiguration: d3d_initialisierung - Win32 Debug--------------------
Kompilierung läuft...
d3d_initialisierung.cpp
D:\testprogs\01\d3d_initialisierung.cpp(33) : error C2001: Zeilenumbruch innerhalb einer Konstanten
D:\testprogs\01\d3d_initialisierung.cpp(34) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'Name'
D:\testprogs\01\d3d_initialisierung.cpp(34) : error C2017: Ungueltige ESCAPE-Folge
D:\testprogs\01\d3d_initialisierung.cpp(36) : error C2001: Zeilenumbruch innerhalb einer Konstanten
D:\testprogs\01\d3d_initialisierung.cpp(40) : error C2059: Syntaxfehler : ')'
D:\testprogs\01\d3d_initialisierung.cpp(43) : warning C4551: Dem Funktionsaufruf fehlt die Argumentliste
Fehler beim Ausführen von cl.exe.

d3d_initialisierung.exe - 5 Fehler, 1 Warnung(en)

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
#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(0,"Fehler beim Erzeugen der Direct-3D 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(0, "Adapterinfos konnten nicht abgefragt werden", "Fehler", MB_OK | MB_ICONEXCLAMATION);

            g_pD3D->Release();
            delete[] g_pAdapters;
            return 1;
        }
        sprintf(acAdapterInfo, "Adapter-ID:      %d\n    
                                Name:            %s\n
                                Treiber:         %s\
                                nTreiberversion: %d",
                iAdapter,
                g_pAdapters[iAdapter].Description,
                g_pAdapters[iAdapter].Driver,
                g_pAdapters[iAdapter].DriverVersion);
    }

    g_pD3D->Release;
    delete[] g_pAdapters;
    return 0;
}
[/quote]

bitte um Hilfe ???

Anonymous

unregistriert

2

01.01.2004, 02:23

nehme an, dass es etwas mit der sprintf - Funktion zu tun hat

3

01.01.2004, 02:45

Re: Einsteigerprobleme v1.0

Zitat von »":)

ich habe inzwischen versucht direct3d zu initialisieren stoße jedoch auf folgend Fehler:

--------------------Konfiguration: d3d_initialisierung - Win32 Debug--------------------
Kompilierung läuft...
d3d_initialisierung.cpp
D:\testprogs\01\d3d_initialisierung.cpp(33) : error C2001: Zeilenumbruch innerhalb einer Konstanten
D:\testprogs\01\d3d_initialisierung.cpp(34) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'Name'
D:\testprogs\01\d3d_initialisierung.cpp(34) : error C2017: Ungueltige ESCAPE-Folge
D:\testprogs\01\d3d_initialisierung.cpp(36) : error C2001: Zeilenumbruch innerhalb einer Konstanten
D:\testprogs\01\d3d_initialisierung.cpp(40) : error C2059: Syntaxfehler : ')'
D:\testprogs\01\d3d_initialisierung.cpp(43) : warning C4551: Dem Funktionsaufruf fehlt die Argumentliste
Fehler beim Ausführen von cl.exe.

d3d_initialisierung.exe - 5 Fehler, 1 Warnung(en)

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
#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(0,"Fehler beim Erzeugen der Direct-3D 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(0, "Adapterinfos konnten nicht abgefragt werden", "Fehler", MB_OK | MB_ICONEXCLAMATION);

            g_pD3D->Release();
            delete[] g_pAdapters;
            return 1;
        }
        sprintf(acAdapterInfo, "Adapter-ID:      %d\n    
                                Name:            %s\n
                                Treiber:         %s\
                                nTreiberversion: %d",
                iAdapter,
                g_pAdapters[iAdapter].Description,
                g_pAdapters[iAdapter].Driver,
                g_pAdapters[iAdapter].DriverVersion);
    }

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


bitte um Hilfe ???


Jo hat es, hatte beim ersten mal auch das Problem *gg* als ich mit dem Buch anfing war ich schon ein wenig aus der Übung in Sachen Programmieren ... naja wie dem Aus sei ... du darfst in der sprintf-Funktion keine Zeilenumbrüche haben, wieso weiß ich net aber auch egal, so ist das richtig:

Quellcode

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

(hier beim ersten ist nur der String [Adaper-ID usw.] in einer Reihe)
Also entweder so oder so:

Quellcode

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


(Hier beim zweiten ist alles in einer Reihe ! beim ersten nur der String mit den Angaben [Adapter ID usw.])

Denke so funtzt das !
Albert Einstein:"Geniale Menschen sind selten ordentlich, Ordentliche jedoch selten genial".

Anonymous

unregistriert

4

01.01.2004, 11:58

Danke für die Hilfe die Fehler sind jetzt weg,
. . . dafür sind aber jetzt andere da:

--------------------Konfiguration: d3d_initialisierung - Win32 Debug--------------------
Linker-Vorgang läuft...
LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
Debug/d3d_initialisierung.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

d3d_initialisierung.exe - 2 Fehler, 0 Warnung(en)

5

01.01.2004, 14:37

Hmmm ich kenn den Fehler der sagt mir was ... glaube du hast vergessen ne Lib-Datei zulinken ... haste D3D9.lib gelinkt ?? und die TriBaseD.lib / TriBase.lib ??
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

6

01.01.2004, 15:27

Nö, der Fehler hat damit garnix zu tun.
Du hast wohl eine Win32-Konsolenanwendung erstellt, es muss aber eine Win32-Anwendung sein.

Übrigens müsste es doch ziemlich klar sein, dass man in einem String keine Zeilenumbrüche haben sollte. :rolleyes:

7

01.01.2004, 15:56

Achso des war des :-) naja hab noch nie bei den Beispielen des Buches ne Win32-Konsolenanwendung erstellt *gg*
Albert Einstein:"Geniale Menschen sind selten ordentlich, Ordentliche jedoch selten genial".

Anonymous

unregistriert

8

01.01.2004, 16:58

das wars . . .
ich hab (um 2 Uhr) mich wirklich bei dem Projekttyp vertahn
Danke David

ach und das wegen den Zeilenumbrüchen kahm warscheinlich auch nur auf Grund der Müdigkeit zu Stande.

Danke für alle Antworten !!!
:) :) :)

9

08.01.2004, 21:23

Re: Einsteigerprobleme v1.0

Hallo,

Zeilenumbrüche in einem 'String' sind wie folgt möglich:
"text1\n"\
" text2"

Dieses ist dann äquivalent zu:
"text1\n text2"

Reinhardt

10

08.01.2004, 21:27

Re: Einsteigerprobleme v1.0

Zitat von »"Reinhardt"«

Hallo,

Zeilenumbrüche in einem 'String' sind wie folgt möglich:
"text1\n"\
" text2"

Dieses ist dann äquivalent zu:
"text1\n text2"

Reinhardt



Hmmm naja du hast im ersten Beispiel zwei stings !!

"text**\n
text*"

das ist unzulässig aber net dein erstes Beispiel wäre net falsch nur sind es da halt zwei Strings und damit könnte man schwierigkeiten beim programmieren bekommen ...
Albert Einstein:"Geniale Menschen sind selten ordentlich, Ordentliche jedoch selten genial".

Werbeanzeige