Среда, 18 Декабря 2024, 12:29

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Ошибкa в HGE!
Stas96Дата: Пятница, 28 Мая 2010, 21:58 | Сообщение # 1
Programmer and Game Designer
Сейчас нет на сайте
Здравствуйте!Я не могу понять что у меня с движком HGE постоянно выдает ошибки такого рода:
Необработанное исключение в "0x003c2501" в "Game HGE.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000". качал разные версии HGE не чего не помогает!
Помогите пожалуйста кто может!
Заранее благодарен!

Добавлено (28.05.2010, 21:58)
---------------------------------------------
Пробою запускать разные проекты.Все равно одно и тоже!

ApatiДата: Пятница, 28 Мая 2010, 21:58 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
У меня все нормально, скорее всего это в твоем коде ошибки.
Stas96Дата: Пятница, 28 Мая 2010, 22:04 | Сообщение # 3
Programmer and Game Designer
Сейчас нет на сайте
Так самое интересное, запускаю проэкт в своем компиляторе который прилагался вместе с движком, выскакивает ошибка(которая описана вверху) только цифры другие sad

Добавлено (28.05.2010, 22:04)
---------------------------------------------
Раньше такого у меня не было,я в нем не работал где-то 7-8 месяцев, а потом решил снова изучать его и тут на тебе!

ApatiДата: Пятница, 28 Мая 2010, 22:09 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Quote (Stas96)
запускаю проэкт в своем компиляторе который прилагался вместе с движком

Ты видимо что-то не то скачал, так как в обычном HGE никаких компиляторов не прилагается.

Quote (Stas96)
Раньше такого у меня не было

Значит раньше ты не допускал какой-то ошибки. Покажи код.
Stas96Дата: Пятница, 28 Мая 2010, 22:18 | Сообщение # 5
Programmer and Game Designer
Сейчас нет на сайте
1)Я про свой Visual Studio говорю(взял код который прилагался вместе с HGE и поставил в свой проект в Visual Studio(все библиотеки подключил))
2)

Добавлено (28.05.2010, 22:18)
---------------------------------------------
Даже самы простой код:


и тот выдают ошибку.
ApatiДата: Пятница, 28 Мая 2010, 22:18 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Quote (Stas96)
все библиотеки подключил

Какие именно? Из какой папки?
Stas96Дата: Пятница, 28 Мая 2010, 22:21 | Сообщение # 7
Programmer and Game Designer
Сейчас нет на сайте
...\hge\hge181\include
...\hge\hge181\lib\vc

и также подключил hge.lib and hgehelp.lib
ApatiДата: Пятница, 28 Мая 2010, 22:26 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
А, вспомнил, у меня тоже давно студия начала какую-то ошибку выдавать, не помню какую, может такую же.
Вобщем стал использовать Dev-C++ и HGE 1.7 - все работает.
Stas96Дата: Пятница, 28 Мая 2010, 22:28 | Сообщение # 9
Programmer and Game Designer
Сейчас нет на сайте
Спасибо, попробую заново установить студию,а если не выйдет установлю Dev-C++!
nilremДата: Пятница, 28 Мая 2010, 23:21 | Сообщение # 10
Просветленный разум
Сейчас нет на сайте
Quote (Stas96)
Нарушение прав доступа при чтении "0x00000000"

Ошибка означает, что ты пытаешься использовать что-то не инициализированное.
Если сильно упростить, то есть какой-то указатель, которому не было присвоено значение (указатель = NULL), а ты пытаешься его использовать.

Простой пример кода, приводящий к этой ошибке:

Code

#include <Windows.h>

class any
{
     int* i;
public:
     any()
     {
      i = 0;
     }
     void ini()
     {
      i = new int;
     }
     void set(int _i)
     {
      *i = _i;
     }
         
};

void main()
{
     any a;
//    a.ini();    // если эту строку раскоментить, все работает.
     a.set(10);
     system("pause");

}

зы: Иногда может помочь компиляция в Release конфигурации, но чаще нужно копать код.


Windmill 2

WindMill 2D Game Engine
Stas96Дата: Суббота, 29 Мая 2010, 11:51 | Сообщение # 11
Programmer and Game Designer
Сейчас нет на сайте
Спасибо.В Release конфигурации не помогает

Добавлено (29.05.2010, 11:51)
---------------------------------------------
Вот есть код:

Code

#include "hge.h"

HGE *hge = 0;

bool FrameFunc()
{
     
   if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;

     
   return false;
}

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
     
   hge = hgeCreate(HGE_VERSION);

     
   hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);

     
   hge->System_SetState(HGE_TITLE, "HGE Tutorial 01 - Minimal HGE application");
     
     
   hge->System_SetState(HGE_WINDOWED, true);

     
   hge->System_SetState(HGE_USESOUND, false);

   if(hge->System_Initiate())
   {
     
    hge->System_Start();
   }
   else
   {   
     
    MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
   }

     
     
   hge->System_Shutdown();

     
   hge->Release();

   return 0;
}

Просмотрел его, в нем все в порядке(а может есть что-то, что я не замечаю, а вы заметите?)
а все равно выдает ошибку: "Необработанное исключение в "0x003b16a0" в "ggg.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000". "в файле hge.h(это файл движка!)


Сообщение отредактировал Stas96 - Суббота, 29 Мая 2010, 11:52
nilremДата: Суббота, 29 Мая 2010, 12:30 | Сообщение # 12
Просветленный разум
Сейчас нет на сайте
У меня работает. HGE 181.

Попробуй закоментить что-нибудь, простись по коду отладчиком и т.д.

Ну или выложи весь проект, а то по коду непонятно, что у тебя там с настройками.

Поймал я таки эту ошибку.
Происходит она тогда, когда двиг не может найти ресурсы, например картинки.

В прикреплении исходник проекта, добавь туда hge.dll и попробуй скомпилировать. Если запустится, удали имеющиеся там картинки и скомпилируй повторно - получишь свою ошибку.
(запускать h.sln)

Прикрепления: 3222355.rar (11.3 Kb)


Windmill 2

WindMill 2D Game Engine


Сообщение отредактировал nilrem - Суббота, 29 Мая 2010, 13:23
Stas96Дата: Суббота, 29 Мая 2010, 13:33 | Сообщение # 13
Programmer and Game Designer
Сейчас нет на сайте
Всем большое спасибо за помощь.Все работает, просто надо было добавить bass.dll в проект всем спасибо!!!

Добавлено (29.05.2010, 13:33)
---------------------------------------------
Это тоже верно, но странно я добавил библиотеку bass.dll и все заработало!!

ApatiДата: Суббота, 29 Мая 2010, 13:43 | Сообщение # 14
заслуженный участник
Сейчас нет на сайте
Ясно))
Чтобы не использовать bass.dll, попробуй после hge=hgeCreate(HGE_VERSION); поставить параметр hge->System_SetState(HGE_USESOUND, false);

Упс, там и так оно стоит. Вроде не должно выдавать ошибку

Сообщение отредактировал Apati - Суббота, 29 Мая 2010, 13:45
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг