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

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

11

08.05.2007, 19:41

wie hast du eigentlich die Fehlerposition ermittelt?

12

09.05.2007, 16:59

mit dem debugger kommt man zu der funktion in tbfont.cpp und in der logbuchdatei steht, dass der fehler bei dem erstellen von einem effekt aufgetreten ist.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

13

09.05.2007, 18:13

Wenn es wirklich um die von dir geposteten Codeabschnitte geht, dann müsste ja für den letzten Fehlereintrag im Log zuerst die m_pEffect->Init(...) Funktion einen Fehlercode zurückliefern, das tut sie aber nur, indem sie selbst wieder einen Logeintrag mit Fehlerhinweis erstellt - der müsste also kurz vor dem Ende vom Log ebenfalls sichtbar sein.

Wenn es diesen 2. Fehlereintrag gibt -> nächstes mal bitte gleich erwähnen.
Ansonsten -> der Fehler muss irgendwie anders zustande kommen, wo es möglich ist, dass nur eine Fehlermeldung auftritt.

14

09.05.2007, 19:19

am besten poste ich mal die logbuchdatei:

Zitat


INFO: TriBase-Engine wird initialisiert... (tribase.cpp, Zeile 86, Funktion tbInit)
INFO: Initialisierung komplett! (tribase.cpp, Zeile 104, Funktion tbInit)
INFO: Der Konfigurationsdialog wird aufgerufen... (tbconfig.cpp, Zeile 1050, Funktion tbDoConfigDialog)
INFO: Die Direct3D-Komponente wird initialisiert... (tbdirect3d.cpp, Zeile 162, Funktion tbDirect3D::Init)
INFO: Erstellen des Fensters... (tbdirect3d.cpp, Zeile 169, Funktion tbDirect3D::Init)
INFO: Initialisierung von Direct3D... (tbdirect3d.cpp, Zeile 209, Funktion tbDirect3D::Init)
INFO: Die Initialisierung der Direct3D-Komponente ist abgeschlossen! (tbdirect3d.cpp, Zeile 274, Funktion tbDirect3D::Init)
INFO: Texturmanager wurde initialisiert! (tbtexturemanager.cpp, Zeile 43, Funktion tbTextureManager::Init)
INFO: Die DirectInput-Komponente wird initialisiert... (tbdirectinput.cpp, Zeile 702, Funktion tbDirectInput::Init)
INFO: DirectInput-Schnittstelle wird generiert... (tbdirectinput.cpp, Zeile 720, Funktion tbDirectInput::Init)
INFO: Initialisierung der Maus komplett! (tbdirectinput.cpp, Zeile 662, Funktion EnumDevicesCallback)
INFO: Initialisierung der Tastatur komplett! (tbdirectinput.cpp, Zeile 656, Funktion EnumDevicesCallback)
INFO: Initialisierung des Joysticks komplett! (tbdirectinput.cpp, Zeile 674, Funktion EnumDevicesCallback)
INFO: Die DirectInput-Komponente wurde erfolgreich initialisiert! (tbdirectinput.cpp, Zeile 754, Funktion tbDirectInput::Init)
INFO: Die DirectSound-Komponente wird initialisiert... (tbdirectsound.cpp, Zeile 45, Funktion tbDirectSound::Init)
INFO: DirectSound-Schnittstelle wird generiert... (tbdirectsound.cpp, Zeile 56, Funktion tbDirectSound::Init)
INFO: Generiere primären Soundpuffer... (tbdirectsound.cpp, Zeile 67, Funktion tbDirectSound::Init)
INFO: Die DirectSound-Komponente wurde erfolgreich initialisiert! (tbdirectsound.cpp, Zeile 111, Funktion tbDirectSound::Init)
FEHLER: Der Aufruf von D3DXCreateEffect verursachte den DirectX-Fehler E_FAIL! Beschreibung: An undetermined error occurred (tbeffect.cpp, Zeile 63, Funktion tbEffect::Init)
FEHLER: Fehler beim Erstellen des Effekts! (tbfont.cpp, Zeile 100, Funktion tbFont::Init)
FEHLER: Fehler beim Laden der Schriftart! (tbfont.cpp, Zeile 135, Funktion tbFont::Init)
FEHLER: Fehler beim Laden der Schriftart Data\Font1! (breakanoid.cpp, Zeile 164, Funktion CBreakanoid::Load)
FEHLER: Fehler beim Laden des Spiels! (breakanoid.cpp, Zeile 80, Funktion CBreakanoid::Init)
WARNUNG: tbExit wurde nicht aufgerufen! Wird automatisch erledigt... (tribase.cpp, Zeile 48, Funktion DllMain)
INFO: TriBase-Engine wird heruntergefahren... (tribase.cpp, Zeile 113, Funktion tbExit)
WARNUNG: Direct3D wurde nicht heruntergefahren! Wird automatisch erledigt... (tribase.cpp, Zeile 121, Funktion tbExit)
INFO: Die Direct3D-Komponente wurde heruntergefahren. (tbdirect3d.cpp, Zeile 313, Funktion tbDirect3D::Exit)
WARNUNG: DirectInput wurde nicht heruntergefahren! Wird automatisch erledigt... (tribase.cpp, Zeile 128, Funktion tbExit)
INFO: Die DirectInput-Komponente wurde heruntergefahren. (tbdirectinput.cpp, Zeile 784, Funktion tbDirectInput::Exit)
WARNUNG: DirectSound wurde nicht heruntergefahren! Wird automatisch erledigt... (tribase.cpp, Zeile 135, Funktion tbExit)
INFO: Die DirectSound-Komponente wurde heruntergefahren. (tbdirectsound.cpp, Zeile 128, Funktion tbDirectSound::Exit)
WARNUNG: Texturen werden automatisch gelöscht! Bitte die Exit-Methode von tbTextureManager aufrufen! (tribase.cpp, Zeile 142, Funktion tbExit)
INFO: Der Texturmanager wurde heruntergefahren. (tbtexturemanager.cpp, Zeile 59, Funktion tbTextureManager::Exit)
INFO: Alle Speicherbereiche freigegeben! (tbmemory.cpp, Zeile 116, Funktion tbMemExit)
INFO: Herunterfahren abgeschlossen! (tribase.cpp, Zeile 149, Funktion tbExit)

und wenn ich das richtig deute, ist der fehler doch wohl in der tbeffect.cpp....

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

15

09.05.2007, 23:25

Also ich hab mal nen Blick ins MSDN geworfen und würde vorschlagen, dass du
1. den Rückgabewert von D3DXCreateEffect checkst (kann laut MSDN nur D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA oder E_OUTOFMEMORY sein - keine Ahnung was die TB mit E_FAIL meint^^)
2. den letzten Parameter nutzt: LPD3DXBUFFER * ppCompilationErrors

ppCompilationErrors
[out] Returns a buffer containing a listing of compile errors.

16

30.05.2007, 12:59

hi
ich hatte in letzter zeit vel zu tun und bin deshalb nicht dazu gekommen weiter an dem problem rum zutüfteln. ich habe jetzt nochmal die tribasedlls von der cd genommen und das programm mit den texten und die spiele liefen wunderbar. was allerdings daran lag, dass es die original .exe von der cd war und nicht von mir kompiliert wurde. bei allen projekten die ich selbst kompiliert habe, starten nicht mehr und es gibt den fehler "d3dx9d_28.dll nicht gefunden.".
also entweder: tribase von der cd und meine projekte laufen nicht
oder: meine tribase und dafür funktioniert z.b das rendern von texten nicht.
ich benutze visual studio 2005. weiß denn jemand was es mit der d3dx9d_28.dll auf sich hat?

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

17

30.05.2007, 14:10

Seit einigen Jahren nummeriert MS die Dlls von DX. Es gibt also für DX 9.0c nicht eine Dll sondern ziemlich viele. Die d3dx9d_28.dll scheint ja aus der Debugversion zu sein, da bin ich nicht sicher, wo du die herkriegen kannst, für die Releasebuilds solltest du mal einen Blick hier hin werfen

18

30.05.2007, 16:09

stimmt wenn ich beim compiler release einstelle funktioniert alles.
und es gibt keine möglichkeit an diese .dll zu kommen? ich meine ihr müsstet die doch auch alle irgendwo aufem rechner haben

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

19

30.05.2007, 16:43

Also ich hab neben haufenweise Release-Dlls noch die d3dx9d_30.dll - die gehört zum Microsoft DirectX SDK April 2006. Eigentlich müsstest du auch irgendeine dieser Debug-Dlls haben, die Frage ist nur, welche.

Wenn du mit Google usw. wirklich nicht die richtige findest, aber selbst eine mit höherer Nummer hast kannst du ja mal versuchen, deine Dll einfach zu kopieren und in die gewünschte umzubenennen.

Progater

Treue Seele

Beiträge: 119

Wohnort: BW

  • Private Nachricht senden

20

30.05.2007, 17:22

d3dx9d_X.dll findet man normallerweise in dem DirectX-Ordner unter Microsoft DirectX SDK --> Developer Runtime --> x86
To go back to the drawing board is not everyone's cup of tea! :-)

Werbeanzeige