Moin,
wenn ich mein level aus c++ heraus starte erhalte ich folgende Fehlermeldung:
Unbehandelte Ausnahme bei 0x10063a6b in VC_GS_Test002.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00000000.
dies passiert sowohl bei 7.662 als auch bei 7.663 (im Debug und Release mode)
nicht aber bei Version 7.60, hier läuft alles wie erwartet.
Im Level selbst befindet sich nur eine Skybox und eine Bodenfläche als Blocks mit *.bmp Texturen aus einer wad datei.
Ich habe aber unterschiedliche Levels probiert mit dem gleichen Problem. Wie gesagt, unter 7.60 läuft alles.
Auch habe ich die Endung des erzeugten Programms von "*.exe" in "*.EXE" wie in einem älteren Beitrag erwähnt geändert, leider ohne Erfolg.
Lade ich keinen Level, wird die Engine normal (natürlich mit schwarzem Fenster) aufgerufen.
Wenn ich ohne das Level zu laden nur eine Entity erzeuge kommt diese Fehlermeldung ebenfalls nicht.
Das Level habe ich jeweils mit der vorhandenen Version neu compiliert und das Programm in VC neu erstellt.
Da ich die Kombination aus C++ und GS erst seit ein paar Tagen versuche weiss ich natürlich nicht ob dies wirklich ein Bug ist
oder ich einfach nur zu wenig "tricks" kenne.
Code und Compiler Einstellungen sind wie im WIKI beschrieben.
#include "stdafx.h"
#include "VC_GS_Test002.h" //Change to your actual project name
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
// Include the engine data types, variables, and functions
#include "adll.h"
void quit(void){
sys_exit(NULL);
}
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
//Open the GameStudio Engine
ENGINE_VARS *ev = engine_open(NULL);
//I keep my levels in a different folder - add it to the search
add_folder("E:\\GS_Projects\\VC++\\VC_GS_Test002");
//Load a level
level_load("vc_test002.wmb"); // <-- wenn ich diese Zeile ausschließe wird keine Fehlermeldung ausgegeben.
VECTOR vPos = {_VAR(20),_VAR(20),_VAR(5)};
ENTITY* blooob = ent_create("blooob.mdl",&vPos,NULL);
while(engine_frame()){
v(on_esc) = (EVENT)quit;
}
//Exit the application with code 0
return 0;
}
Aus WED heraus wird das Level problemlos gestartet.
Gruss,
Tom
Compiler: VC 2500 Express
A7.6 Pro
AMD Athlon 64 X2 Dual 3800+
1,00 GB RAM
GeForce 7100 GS