Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Непонятная ошибка

9.5K
04 декабря 2005 года
LaStRicK
39 / / 05.08.2005
во-первых код:
Код:
buf := Player.GetPause;
dec(buf);
Player.SetPause(buf);
if Player.GetPause < 0 then Player.SetPause(0);
if (Player.GetPause = 0) and (diks[DIK_SPACE] and $80 <> 0) and (bullCount<MaxBulets-1) then
  begin
   Bulets[BullCount].Create(Player.Xpos,Player.Ypos,Player.GetDirection);
   if BullCount< MaxBulets then
   BullCount := BullCount + 1;
   Player.SetPause(100);
   ClearWiev;
  end;


А вот продседура создания пули:
Код:
constructor TBullet.Create(x,y : integer; dir : Tdirection);
begin
XPos := x;
YPos := y;
Direction := dir;
LiveTime := MaxLiveTime;
Height := 32;
width := 32;
Time := 0;
Live := TRue;
SetRect(sprRect,XPos,YPos, XPos + width, YPos + Height);
end;

При нажатии пробела должна появиться пуля, вместо этого вылетает ошибка AccessViolation
блок try except ошибку не видит, но происходит смена на ошибку в библиотеке User32...
Уже неделю бьюсь, думаю, и ничего не приходит на ум. Мож вы что увидите...

Удаление блока помогает))), но как-то без пуль танк не убьешь)))
5
04 декабря 2005 года
hardcase
4.5K / / 09.08.2005
Парень, как вызывается конструктор в Делфи?
 
Код:
Bulets[BullCount].Create(Player.Xpos,Player.Ypos,Player.GetDirection);


100 пудово не так.... ;)

Кстати, проверь выход за границы массива.
9.5K
04 декабря 2005 года
LaStRicK
39 / / 05.08.2005
Цитата:
Originally posted by hardcase
Парень, как вызывается конструктор в Делфи?
 
Код:
Bulets[BullCount].Create(Player.Xpos,Player.Ypos,Player.GetDirection);


100 пудово не так.... ;)

Кстати, проверь выход за границы массива.


Выхода нету, массив 0..49, Счетчик на 0,
констуртор у меня есть точно такойже рабочий, и тож с параметрами!!!! КОНСТУРТОР!!! эта таже продседура!

9.5K
04 декабря 2005 года
LaStRicK
39 / / 05.08.2005
Цитата:
Originally posted by LaStRicK
Выхода нету, массив 0..49, Счетчик на 0,
констуртор у меня есть точно такойже рабочий, и тож с параметрами!!!! КОНСТУРТОР!!! эта таже продседура!


Все я нашел ошибку - неправильный вызов))))

303
05 декабря 2005 года
makbeth
1.0K / / 25.11.2004
Цитата:
Originally posted by LaStRicK
Все я нашел ошибку - неправильный вызов))))


Небось должно быть:
Bulets[BullCount]:=TBullet.Create(Player.Xpos,Player.Ypos,Player.GetDirection);
;)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог