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

09.09.2004, 23:20

Release- und Debug-.exe gehen nicht...

Hallo!

Ich habe ein für mich völlig unverständliches Problem:

Starte ich mein Projekt unter Visual Studio im Debug oder Release-Modus, dann funktionniert alles einwandfrei.

Öffne ich dann aber "manuell" die Erstellte .exe-Datei im Explorer, dann kann ich zwar noch im Config-Dialog die Auflösung usw. einstellen, danach kommt aber ein Fehler. Ich bekomme immer die MessageBox zu sehen, die in folgendem Codesegment der WinMain-Methode aufgerufen wird:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    tbResult r;
    // initialisieren
    g_pMain = new CRunTheRace;
    r = g_pMain->Init();
    if(r == TB_CANCELED)
    {
        // Der Konfigurationsdialog wurde abgebrochen!
        // Das Programm "leise" verlassen.
        TB_SAFE_DELETE(g_pMain);
        return 0;
    }
    else if(r)
    {
        g_pMain->Exit();
        TB_SAFE_DELETE(g_pMain);
                //
                // Diese Messagebox kommt nur, wenn man "manuell" startet
        MessageBox(NULL, "Fehler beim Initialisieren!",
                   "Fehler", MB_OK | MB_ICONEXCLAMATION);
        return 1;
    }
[...]

Sprich das Programm geht immr in die else if(r)-Schleife....

Könnt ihr mir da irgendwie helfen???

Gruß

2

09.09.2004, 23:43

Also else ist natürlich keine Schleife ;)

Das Problem kann man so schlecht feststellen. Du musst einfach mal den Code debuggen und kucken was Init() für einen Wert zurück gibt und in r speichert. Ich bin jetzt nicht so vertraut mit der TriBase Engine und weiss nicht genau welche Return-Codes definiert sind und für was z.B. TB_CANCELED steht.

Am Besten und auch am Einfachsten wäre es den Code zu debuggen und dann solltest du den Fehler schnell selber finden!

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

10.09.2004, 02:59

Kann's sein dass Du die EXE aus dem Debug-/Release-Ordner heraus aufrufst? Du musst sie erst ins Stammverzeichnis kopieren, da sonst eventuelle Texturen oder andere Dateien nicht gefunden würden.
Wenn Du es aus Visual C++ heraus ausführst, ist das was anderes, denn "intern" wird da der richtige Pfad genommen.

Also wenn die EXE-Datei in
C:\MeinSpiel\Release\
ist,

dann kopiere sie nach
C:\MeinSpiel\

dann ausführen.

Anonymous

unregistriert

4

10.09.2004, 12:21

Arg! Klar...musste nur die .exe Datei ins richtige Verzeichnis schieben! Da hab ich mich ja mal wieder sehr intelligent angestellt! :schild:

Danke!

Werbeanzeige