Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
GreveN JLI Master
Alter: 37 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 06.06.2006, 14:51 Titel: |
|
|
Einen möglichen Fehler hab' ich glaub ich in deinem Source gefunden: Du versuchst "menubild.jpeg" zuladen, die Datei heißt aber nicht so. Aber kA, ob's das ist... ;)
Übrigens dein 'CreateD3DFont' in 'DrawText' ist auch komisch, der Aufruf gehört in den Konstruktor der Klasse oder von außen getätigt.
Weiß allerdings auch nicht, ob du den Source inzwischen überarbeitet hast, den du vorhins hoch geladen hattest. |
|
Nach oben |
|
|
matmaster Junior JLI'ler
Anmeldedatum: 18.02.2006 Beiträge: 67 Wohnort: Wien Medaillen: Keine
|
Verfasst am: 06.06.2006, 15:09 Titel: |
|
|
Die datei heißt "menubild.jpeg".
Ich habe es jetzt aufgeteil so wie du es gesagt hat (glaube es zumindest das du das so gemeint hast)
Hier ist das aufgeteilte Projekt : Projekt
Es funktioniert leider nur wenn ich das Surface nicht benutze, weil irgendetwas mit dem Surface nicht stimmt. |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 37 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 06.06.2006, 15:13 Titel: |
|
|
Also die Datei heißt "menubild.jpg", ich weiß nicht, ob die D3DX-Funktion diesen Tippfehler automatisch kompensiert, fände ich etwas unlogisch.
Edit:
CPP: | CDirect3D Direct3;
...
void CSurface::LoadSurface(char* FilePath)
{
Direct3.GetDevice()->CreateOffscreenPlainSurface(
800,
600,
D3DFMT_A8R8G8B8,
D3DPOOL_DEFAULT,
&m_lpSurface,
0);
Direct3.GetDevice()->GetBackBuffer(0, 0,
D3DBACKBUFFER_TYPE_MONO,
&m_lpBackBuffer);
D3DXLoadSurfaceFromFile(m_lpSurface,
NULL,
NULL,
FilePath,
NULL,
D3DX_FILTER_NONE,
0,
NULL);
} |
So ist das Murks, übergib Lieber wieder einen Zeiger auf das Device, so wie ich das vorhin bei dem Font-Problem vorgeschlagen hatte. |
|
Nach oben |
|
|
matmaster Junior JLI'ler
Anmeldedatum: 18.02.2006 Beiträge: 67 Wohnort: Wien Medaillen: Keine
|
Verfasst am: 06.06.2006, 18:18 Titel: |
|
|
Zitat: | Also die Datei heißt "menubild.jpg" |
Du hast recht jetzt merk ichs erst. |
|
Nach oben |
|
|
matmaster Junior JLI'ler
Anmeldedatum: 18.02.2006 Beiträge: 67 Wohnort: Wien Medaillen: Keine
|
Verfasst am: 06.06.2006, 19:49 Titel: |
|
|
Ich habe es geschafft es funktioniert !
Es wird das Bild angezeigt und der Text auch.
Aber : Wenn ich das Programm beende kommt eine Fehlermeldung in der steht:
Die Ausnahme "unknow software exception" (0x80000003) ist in der Anwendung an der Stelle 0x7c911230 aufgetreten.
Was bedeutet das ?, und woher soll ich wissen welche Stelle das "0x7c911230" ist ? |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 06.06.2006, 20:02 Titel: |
|
|
Wie wäre es mit Debuggen?
DebugBuild erstellen im Fenster modus starten, und hoffen das ein Fenster kommt in dem du auf Debug klicken kannst, dann öffnet sich VC und zeigt dir genau die Stelle an wo es abgestürtzt ist, mitsamt dem Inhalten sämtlicher Variablen usw. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 37 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 06.06.2006, 20:08 Titel: |
|
|
Glückwunsch, war ja 'ne schwere Geburt. :P
Exceptions können an vielen Stellen geworfen werden, ich würde als erstes mal die Exceptions fangen, die die Standardlib und die STL werfen... Unter Umständen bist du der Problemlösung damit schon ein ganzes Stückchen näher, könnte nämlich einfach ein falsch eingesetzter STL-Algorithmus sein, ein Container der Ärger macht, oder auch einfach nur ein überdimensioniertes 'new'.
Also den ganzen Code, der fehlerträchtig sein könnte mal in einen 'try'-Block stopfen und einen 'std::exception'-Handler dazu basteln:
CPP: | #include <exception>
...
try
{
// Hier kommt der auszuführende Code hin!
}
catch(const std::exception& except)
{
// Die Methode 'what' von except liefert einen String zurück, der Näheres über den Fehler aussagt, also den Rückgabewert ausgeben/loggen.
} |
|
|
Nach oben |
|
|
matmaster Junior JLI'ler
Anmeldedatum: 18.02.2006 Beiträge: 67 Wohnort: Wien Medaillen: Keine
|
Verfasst am: 07.06.2006, 18:33 Titel: |
|
|
Zitat: | Aber : Wenn ich das Programm beende kommt eine Fehlermeldung in der steht:
Die Ausnahme "unknow software exception" (0x80000003) ist in der Anwendung an der Stelle 0x7c911230 aufgetreten. |
Ich habe gerade herausgefunden das diese Fehlermelung nur an meinem Computer angezeigt wird. Als ich es bei meinem Freund ausprobiert habe ging es ohne Fehlermeldung. Und wenn ich das Spiel BOOM von Fallen beende kommt die Fehlermeldung auch.
Also glaube ich das mein PC ein Fehler hat.
Was soll ich jetzt tun?, hat jemand vielleicht ne ahnung wie ich den Fehler irgendwie beseitigen kann?
@Greven
ich habe getan was du gesagt hast. Leider ohne Erfolg
@Jonathan_Klein
Zitat: | DebugBuild erstellen im Fenster modus starten, und hoffen das ein Fenster kommt in dem du auf Debug klicken kannst, dann öffnet sich VC und zeigt dir genau die Stelle an wo es abgestürtzt ist, mitsamt dem Inhalten sämtlicher Variablen usw. |
Wenn ich bWindowed auf TRUE setze und auf build drücke, dann funktioniert es gar nicht(es wird nicht einmal ein Fenster angezeigt) |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 07.06.2006, 19:30 Titel: |
|
|
du musst herausfinden, bei welche Zeile es abstürtzt. Das ginge mit einem Logbuch oder mit einem debugger.
Dann kansnte vielelicht ein try...catch block machen, um die exception zu fangen. Somit verhinderst du zumindest den Programm absturtzt.
Evtl. auch einfach ncohmal anders coden vielleicht gehts ja dann (hat mir bei einem ähnlichen Problem geholfen). _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
OLiver Super JLI'ler
Alter: 33 Anmeldedatum: 29.06.2003 Beiträge: 306 Wohnort: Jena Medaillen: Keine
|
Verfasst am: 08.06.2006, 12:14 Titel: |
|
|
Meistens kommen auch solche AVs am Ende wenn irgendwelcher Speicher nicht freigegeben wurde. _________________ http://www.sieder25.org/ (Siedler 2 - Remake) |
|
Nach oben |
|
|
|