Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > Калькулятор |
Автор: MacTag 27.2.2009, 01:39 | ||
Здрасте, читаю книгу Г.В. Галисеев Самоучитель по Delphi 8, это первая книжка, которую читаю по Delphi, ничего ещё не понимаю в нём. Хотелось, чтобы всё шло гладко, но дошел до создания калькулятора, перепечатал код, пробую запустить, ничего не выходит. Выдаёт ошибку. Помогите понять, где ошибка в программе, почему она вылетает и почему автор допустил ошибку. У меня стоит Delphi 8 for the Microsoft .NET Framework, также как и у автора книги. У него всё работает, у меня - нет. Помогите. Код
Вот ошибка: Project Project5.exe encountered unhandled exception class System.NullReferenceException. Process stopped. Use Step or Run to continue. |
Автор: Данкинг 27.2.2009, 02:15 |
Количество begin и end определённо не сходится... |
Автор: MacTag 27.2.2009, 10:28 |
сходится, причина в чём-то другом |
Автор: Poseidon 27.2.2009, 10:45 |
В бегинами все в порядке. Да и с кодом тоже. У меня на Delphi 7 Enterprise все компилится и работает. Не знаю что там на Delphi for .NET не так. На какую строчку ругается? |
Автор: MacTag 27.2.2009, 12:06 |
to Poseidon, на 11 строчку пишет [Warning] Project5dpr(11):Variable 'a' might not have been initialized т.е. не инициализирована переменная "а" ? |
Автор: MacTag 27.2.2009, 12:31 |
подставил, теперь предупреждения нету, но всё равно Project Project5.exe encountered unhandled exception class System.NullReferenceException. Process stopped. Use Step or Run to continue. И появляется чёрное окошечко терминала, пустое совершенно. Когда закрываешь его - возвращаешься в редактор кода. И так по кругу. |
Автор: CodeMonkey 27.2.2009, 12:59 | ||
А посмотреть, на какой строчке встало, не судьба?
Ага, вот только именно это и может быть фатальным. Не могу сказать за .NET - не имею опыта, но вот http://transl-gunsmoker.blogspot.com/2008/12/ia64.html. |
Автор: MacTag 27.2.2009, 13:09 |
Качаю Delphi 7 Enterprise, буду проверять на нём. Хочется всё-таки докопаться до правды. В чём тут дело. Это беспокоит меня. Не даёт мне покоя. ![]() Пример вроде бы простой, в самом начале книги находится, всего на 60 странице. Не могу я пропустить его и читать дальше. Или пример начнёт работать, или я так и не прочитаю книгу) |
Автор: CodeMonkey 27.2.2009, 13:35 | ||
Проверять что? Вы вообще понимаете разницу между Delphi for Win32 и Delphi for .NET? Это два совершенно разных мира.
|
Автор: Kbl4AH 27.2.2009, 13:41 | ||
![]() |
Автор: MoonDevil 27.2.2009, 13:49 |
Все прекрасно запускается и компилится,незнаю что там хочет Делфи 8 а мой 6ой проглотил нормально,а может ты не консольное прилоджение создал![]() |
Автор: Kbl4AH 27.2.2009, 13:57 |
CodeMonkey, а почему компилятор не инициализирует глобальную переменную, в данном случае, нулем? По книжке, которую, я читаю должно быть именно так. А в VCL-приложении - инициализирует нулем... |
Автор: Poseidon 27.2.2009, 14:11 | ||||
Было время, очень долго не мог понять, почему в моих расчетах ошибка. |
Автор: CodeMonkey 27.2.2009, 14:12 | ||
А кто это сказал? ![]() - что в общем случае может быть ГГ. - что нужно просто посмотреть, на какой строчке встала программа. - что сравнивать Delphi for Win32 и Delphi for .NET - глупо. Добавлено через 33 секунды А у вас разве глобальная переменная? |
Автор: Kbl4AH 27.2.2009, 14:21 |
Ты ошибашься... Сам проверь ![]() По крайней мере для VCL-приложений так... А вот в консольном почему-то не так... про это и спрашиваю... |
Автор: MacTag 27.2.2009, 14:38 |
Создаю Console Application, качаю Delphi 7, потому что тут кто-то сказал, что у него на этой версии всё работает. Просто у меня книга по той же версии, что установлена на компе, всё должно работать , повторяю я всё в точности, как в книге. Вот что там ещё пишет Debug Inspector: "В экземпляре обьекта не задана ссылка на обьект" |
Автор: Kbl4AH 27.2.2009, 14:40 | ||
в Delhi 2006 fo Win32 тоже работает |
Автор: Riply 27.2.2009, 14:41 |
IMHO, инициализация любых (глобальных, локальных) переменных вручную - правило хорошего тона, переходящее в "хорошую практику" ![]() |
Автор: Poseidon 27.2.2009, 14:43 |
Прошу прощения, не заметил что речь идет про глобальные переменные. |
Автор: THandle 27.2.2009, 14:43 |
Riply, +1 А вообще, ИМХО, топикстартеру следует начать изучение Delphi с версий обычных, не .NET. |
Автор: CodeMonkey 10.3.2009, 12:21 | ||
...а после http://qc.embarcadero.com/wc/qcmain.aspx?d=71588 я вообще теперь параноик... ![]() |