JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=13cd8fe0701f9033b475bc7263b625fcMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Fehler ich brauche Hilfe

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Banny
Mini JLI'ler


Alter: 45
Anmeldedatum: 06.01.2007
Beiträge: 4
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 06.01.2007, 19:39    Titel: Fehler ich brauche Hilfe Antworten mit Zitat

Hallo @all

ich habe ein kleines spiel geschrieben und alles läuft super.
aber wenn ich es auf einen anderen Rechner installiert habe und es starten will dann zeigt er mir denn Fehler:

Die Dynamic Link Library d3dx9_27.dll wurde nicht im Pfad gefunden.

Ich weiß nicht wo der Fehler liegt.

kann mir jemand helfen

Danke
Banny
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 06.01.2007, 20:00    Titel: Antworten mit Zitat

Du darfst DX nicht als debug linken, wenn du das machst klappt es. Oder (zum testen): kopier dir die d3dx9 dll aus dem Windows Verzeichnis in das Spieleverzeichnis.
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 07.01.2007, 02:05    Titel: Antworten mit Zitat

d3dx9_27.dll ist aber keine Debug-Dll.

Du musst auf dem anderen Rechner die DirectX-Version aktualisieren.
Probier das mal zu installieren.

DirectX 9.0c Redistributable for Software Developers - Multilingual
Das solltest du mit deinem Spiel mitliefern. Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Banny
Mini JLI'ler


Alter: 45
Anmeldedatum: 06.01.2007
Beiträge: 4
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 07.01.2007, 13:06    Titel: Antworten mit Zitat

Danke euch beiden für die schnelle Antwort.
Ich habe auch gleich mal die Variante von ki ausprobiert und da kommt immer noch die Fehlermeldung. Also an der aktuellen Version liegt es nicht.

abc_d wie meinst du das

Du darfst DX nicht als debug linken, wenn du das machst klappt es. Oder (zum testen): kopier dir die d3dx9 dll aus dem Windows Verzeichnis in das Spieleverzeichnis.

muss ich da im Visual studio 2003 was umstellen wenn ja wo?

Danke Banny
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 07.01.2007, 13:12    Titel: Antworten mit Zitat

Ich habe mich geirrt, glaub lieber KI. Wink
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 07.01.2007, 16:13    Titel: Antworten mit Zitat

Die DLL gehört zu der D3DX-Library. Microsoft hat bisher alle 2 Monate eine neue Version davon rausgebracht.
d3dx9_27.dll gehört zur August (2005) Version.

Probier es mal hiermit (Das ist die Dezember 2006 Version): DirectX End-User Runtimes

hier noch ein paar Infos: http://www.toymaker.info/Games/html/d3dx_dlls.html

edit:
DirectX 9.0c ist aber auf dem anderen PC schon drauf?
Kannst du überprüfen per Startmenü->Ausführen->dxdiag
DirectX 9.0c End-User Runtime
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Loigie
Junior JLI'ler



Anmeldedatum: 29.06.2004
Beiträge: 52
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 07.01.2007, 16:51    Titel: Antworten mit Zitat

Fals du beim DirectX SDK installieren die option Runtime Libraries (oder so) angeklickt hast sollten alle d3dx9_xx.dll's als zip Datei im ordner DirectX-SDK\Redist sein. Sonst mal im internet danach suchen. Dann die gesuchte dll in den Ordner kopieren, in dem auch die Spiele.exe ist.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Banny
Mini JLI'ler


Alter: 45
Anmeldedatum: 06.01.2007
Beiträge: 4
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 10.01.2007, 21:58    Titel: Antworten mit Zitat

Also Loigie das reinkopieren bringt nichts da kommt gleich eine Fehlermeldung.

KI dein tipp war Super, danke, damit hat sich das Problem gelöst.
Aber leider kam der nächster Fehler

Fehler Gerät kann nicht angelegt werden
Not available

denn ursprung der Fehlermeldung habe ich schon lokaliesiert
Code:
BOOL Surfaces::Init(HWND hWnd, BOOL bWindowed)
{
   // Direct3D-Objekt erzeugen
    m_lpD3D = Direct3DCreate9(D3D_SDK_VERSION);

    if(NULL == m_lpD3D)
    {
        // Fehler, D3D-Objekt wurde nicht erzeugt
        return FALSE;
    }

    // Parameter fuer den Modus festlegen
    D3DPRESENT_PARAMETERS PParams;
    ZeroMemory(&PParams, sizeof(PParams));

    PParams.SwapEffect       = D3DSWAPEFFECT_DISCARD;
    PParams.hDeviceWindow    = hWnd;
    PParams.Windowed         = bWindowed;

    PParams.BackBufferWidth  = SCR_WIDTH ;
    PParams.BackBufferHeight = SCR_HEIGHT;
    PParams.BackBufferFormat = D3DFMT_A8R8G8B8;

    HRESULT hr;

    // Direct3D-Geraet anlegen
    if(FAILED(hr = m_lpD3D->CreateDevice(
                                 D3DADAPTER_DEFAULT,
                                 D3DDEVTYPE_HAL,
                                 hWnd,
                                 D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                 &PParams,
                                 &m_lpD3DDevice)))
    {
      
      // Fehler, Geraet kann nicht angelegt werden
        const char* Err = DXGetErrorDescription9(hr);

        DXTRACE_MSG(Err);

        MessageBox(NULL, Err, "Fehler Gerät kann nicht angelegt werden", MB_OK);

        return FALSE;
      
    }

    // Schrift erzeugen
    CreateFont();
    // Zeiger auf dem Hintergrundpuffer holen
    m_lpD3DDevice->GetBackBuffer(0, 0,
                                 D3DBACKBUFFER_TYPE_MONO,
                                 &m_lpBackBuffer);
   

    return TRUE;
}


Kann das mit dem Betriebssystem zu tun haben, das ist nämlich win2000?
und etwickelt wurde es unter win xp

Banny
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Chriss
Senior JLI'ler



Anmeldedatum: 18.08.2004
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 10.01.2007, 22:26    Titel: Antworten mit Zitat

Ich denke mal das der Fehler hier zu suchen ist
CPP:
// Direct3D-Geraet anlegen
    if(FAILED(hr = m_lpD3D->CreateDevice(
                                 D3DADAPTER_DEFAULT,
                                 D3DDEVTYPE_HAL,
                                 hWnd,
                                 D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                 &PParams,
                                 &m_lpD3DDevice)))


Wenn du 'D3DDEVTYPE_HA'L übergibst wird eine Grafikkarte erwartet die Hardwarebeschleunigung kann.
Versuchs mal mit 'D3DDEVTYPE_REF', das sollte auf jeden Fall klappen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 11.01.2007, 11:01    Titel: Antworten mit Zitat

D3DDEVTYPE_REF wird zwar funktionieren, aber sehr langsam sein, weil alles in Software ausgeführt wird. Was ist denn das für ein Rechner, auf dem du testest?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 11.01.2007, 12:14    Titel: Antworten mit Zitat

Joah, D3D9 läuft auch manchen alten Grafiken nicht. Bzw. du musst es richtig intialisieren, da du im Moment evtl. Dinge anforderst, die diese Grafikkarte einfach nicht unterstützt.
Du könntest mit dne Device Caps testen, was unterstützt wird, und was nicht, allerdings ist das ne Menge arbeit.
Man kann auch als PresentationParameters oder so 0 angeben, dann kann es sehr wahrscheinlich initialisiert werdne, aber wenn du kannst tortzdem noch Probleme bekommen.
d.h. es ist gut möglich dass die Hardware einfach nur inkompatibel zu DX9 ist, bzw. zu deinem Spiel.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 11.01.2007, 13:30    Titel: Antworten mit Zitat

Vielleicht musst du dort einfach einen neuen Treiber für die Grafikkarte installieren. Der Windows-Standard-Treiber unterstützt keine Hardwarebeschleunigung, soweit ich weiß.

Welcher Grafikchip ist auf der Grafikkarte?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Banny
Mini JLI'ler


Alter: 45
Anmeldedatum: 06.01.2007
Beiträge: 4
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 03.02.2007, 22:30    Titel: Antworten mit Zitat

So nun habe ich den Treiber Aktualliesiert und muss nun auf geben der Rechner ist halt zu alt. Sad

Habt alle recht herzlichen dank für eure Hilfe

by Banny
_________________

http://www.geld-verdienen-sparen.de/bilder/banner03.gif
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum