Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.08;
Скачать: CL | DM;

Вниз

Проблема   Найти похожие ветки 

 
незнаускас   (2006-01-10 05:45) [0]

При написании игры на DELPHI X ,у меня возникла одна проблема, а именно когда я создав новый клас, добавил в On Create Form процедуру Create етого класа то при компиляции я получил сообщение:
"Project Project.exe raised exception class EDivByZero
            with message "Division by zero".
      Process stopped. Use Step or Run to continue."
Перепробывал всё ничего не помогает!


 
XProger ©   (2006-01-10 05:53) [1]

Во-первых, компилятор никогда не выдаст тебе этой ошибки. Во-вторых, проверь в коде все деления на ситуацию, в которой знаменатель = 0.


 
незнаускас   (2006-01-10 06:26) [2]

А подробней можеш расказать о сетуации в которой знаменатель ноль


 
незнаускас   (2006-01-10 06:41) [3]

Компилятор показывает на строку:
=>   with Tvrag.Create(Dxspriteengine1.Engine) do
      begin
      x:=300;
      y:=434;
      end;
Ну вроде всё правильно написал.


 
незнаускас   (2006-01-10 07:02) [4]

Причём процедура Create етого класа зоздаёт ошибку только когда находится
в On Create Form


 
XProger ©   (2006-01-10 07:16) [5]

Ещё раз повторяю, об этом тебе не компилятор сообщает.

i := 0;
j := 100 div i;

Дебагер выдаст тебе точно такое же сообщение об ошибке... Ищи ошибку в конструкторе Tvrag и дочерних.

Есть другая версия, по которой, на момент создания Tvrag, Dxspriteengine1 не существует. Решается 2 способами - поместить код в onShow или вручную создавать Dxspriteengine1.


 
незнаускас   (2006-01-10 07:33) [6]

Процедура создания стоит перед несколькими другими процедурами создания другихкласов.Вот:
procedure TForm1.FormCreate(Sender: TObject);
begin
  with Tmax.Create(Dxspriteengine1.Engine) do
begin
 Image := form1.dxImageList1.Items.Find("max");
 x:=300;
 y:=434;
 Width := Image.Width;
 Height := Image.Height;
end;
 with TScrollBackground.Create(DXSpriteEngine1.Engine) do
begin
   SetMapSize(1, 1);
   Image := DXImageList1.Items.Find("fon");
   Y := 0;
   Z := -11;
   Tile := true;;
end;
with Tvrag.Create(Dxspriteengine1.Engine) do
begi
 x:=300;
 y:=434;
end;

end;
Но непашет почемуто только она.А описание класа и процедур  ничем не оличаеться от остальных класов.


 
XProger ©   (2006-01-10 08:03) [7]

Внимательнее прочитай моё предыдущее сообщение.


 
Cash ©   (2006-01-10 13:19) [8]

А нука давай, выкладывай текст конструктора врага!
Мне уж очень интересно, когда то была такая же ситуация,
решил я ее добавив одну строчку.


 
Google!   (2006-01-11 01:52) [9]

Удалено модератором


 
Google!   (2006-01-11 01:52) [10]

Удалено модератором


 
Google!   (2006-01-11 01:52) [11]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2006.10.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
2-1158321256
DmiSb
2006-09-15 15:54
2006.10.08
Как узнать какое поля ввода потеряло фокус ?


3-1154415551
NotGooDP
2006-08-01 10:59
2006.10.08
Работа с Insert Into...Values с использованием потоков


15-1158433811
DillerXX
2006-09-16 23:10
2006.10.08
Ни-ти-вонипонимаю :-((


2-1158646489
pkm
2006-09-19 10:14
2006.10.08
Объявление массива.


15-1158417939
Furyz
2006-09-16 18:45
2006.10.08
Баг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский