![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Случайно столкнулся с такой ситуацией
Код:
var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i:integer; Begin ShowMessage(IntToStr (i)); end; end. |
#2
|
||||
|
||||
![]() Потому что переменная неинициализирована.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
||||
|
||||
![]() присвойте переменной i любой численное значение переде ее выводом, а вообще не обходимо всегда задовать значения описанным выше переменным в секции var ! Потому что отладчик при выполнение обращаеться к переменный i в память где она выделенна но там нет значения, и на то место куда она обращаеться прописанны случайные значения ( не всегда )... вот их Вы и получаете... , и не дай бог Вы не присвоете значения объекту... то сразу получете ACCESS VIOLATION
![]() |
#4
|
||||
|
||||
![]() А когда объявляешь переменную как глобальную а потом выводишь то получается '0' -Нормально. Почему здесь так а там так.
|
#5
|
|||
|
|||
![]() Переменные надо инициализировать всегда. Нельзя полагаться на компилятор и надеяться что он присвоит переменной 0 даже если она глобальная. Особенно если она глобальная.
|
#6
|
||||
|
||||
![]() А как простые переменные инициализировать.
У переменных типа объект есть метод Create а тут...? |
#7
|
||||
|
||||
![]() Код:
... var i : integer = 65535; ... РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت |
#8
|
||||
|
||||
![]() балин, а просто перед первым использованием прописать
Код:
var i:integer; begin i:=0; ... ... end; Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#9
|
||||
|
||||
![]() Точняк !!!
![]() |
#10
|
||||
|
||||
![]() Это не наш путь - слишком просто. Лучше для каждой переменной написать функцию инициализатор.
![]() Код:
Var i: Integer; procedure I_Init; begin i := 0; end; begin I_Init; end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |