Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
незнаускас   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.058 c
15-1158490716
X9
2006-09-17 14:58
2006.10.08
компиляция программ во FreePascal для MS-DOS


15-1158205348
PSPF2003
2006-09-14 07:42
2006.10.08
Какой Linux?


15-1158468615
Чапаев
2006-09-17 08:50
2006.10.08
Как узнать путь к shell application?


8-1142157100
DJSynth
2006-03-12 12:51
2006.10.08
Генератор сигналов в Delphi


15-1158594576
AntiUser
2006-09-18 19:49
2006.10.08
try ... except аки заглушка





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский