![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема [Delphi, Windows]
незнаускас © (2006-01-10 05:45:00)При написании игры на 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."
Перепробывал всё ничего не помогает!
Google! (2006-01-11 01:52:00) [1]Удалено модератором
Google! (2006-01-11 01:52:00) [2]Удалено модератором
Google! (2006-01-11 01:52:00) [3]Удалено модератором
Cash (2006-01-10 13:19:00) [4]А нука давай, выкладывай текст конструктора врага!
Мне уж очень интересно, когда то была такая же ситуация,
решил я ее добавив одну строчку.
XProger (2006-01-10 08:03:00) [5]Внимательнее прочитай моё предыдущее сообщение.
незнаускас (2006-01-10 07:33:00) [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 07:16:00) [7]Ещё раз повторяю, об этом тебе не компилятор сообщает.
i := 0;
j := 100 div i;
Дебагер выдаст тебе точно такое же сообщение об ошибке... Ищи ошибку в конструкторе Tvrag и дочерних.
Есть другая версия, по которой, на момент создания Tvrag, Dxspriteengine1 не существует. Решается 2 способами - поместить код в onShow или вручную создавать Dxspriteengine1.
незнаускас (2006-01-10 07:02:00) [8]Причём процедура Create етого класа зоздаёт ошибку только когда находится
в On Create Form
незнаускас (2006-01-10 06:41:00) [9]Компилятор показывает на строку:
=> with Tvrag.Create(Dxspriteengine1.Engine) do
begin
x:=300;
y:=434;
end;
Ну вроде всё правильно написал.
незнаускас (2006-01-10 06:26:00) [10]А подробней можеш расказать о сетуации в которой знаменатель ноль
XProger (2006-01-10 05:53:00) [11]Во-первых, компилятор никогда не выдаст тебе этой ошибки. Во-вторых, проверь в коде все деления на ситуацию, в которой знаменатель = 0.