Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Авто инициализация переменной целого типа [D7, 95/98, XP]


Nan ©   (2006-01-19 09:07:00) 

Как в Delphi сделать так, чтобы переменная целого типа принимала
значение равное 0 автоматически при ее объявлении ?


evvcom   (2006-01-19 12:45:00) [1]


> НЕ в стек
> в одном объекте она изменится, а в другом инитное значение
> уже метод не увидит

Так и есть. Точно Форма №13. С чертями дружна :)


evvcom   (2006-01-19 12:39:00) [2]


> "Ложатся" переменные, а не константы.

Спасибо, я это знал.

> НЕтипизированная, имелось ввиду.

Вот именно. В данном-то случае разговор идет о типизированной. См. [3]. Я так и написал "эта константа".

> Конечно же, НЕ в стек.

Вот и я так думаю. Т.е. для разных объектов класса TForm13 (13 - намек на глючность :) сего подхода?) будет выполнена инициализация константы единожды (или всякий раз? нет надо все же посмотреть, интересный пример), в одном объекте она изменится, а в другом инитное значение уже метод не увидит. Не, сейчас проверю...


Digitman   (2006-01-19 12:25:00) [3]


> Константа никуда не "ляжет".


НЕтипизированная, имелось ввиду.


Digitman   (2006-01-19 12:24:00) [4]


> константа в стек ляжет или в "глобальную" область?


Константа никуда не "ляжет".

"Ложатся" переменные, а не константы.


begin...end   (2006-01-19 12:12:00) [5]

> в подпрограммы

из подпрограммы


begin...end   (2006-01-19 12:10:00) [6]

> evvcom ©   (19.01.06 12:03) [5]

> Лень проверять, но интересно, эта константа в стек ляжет
> или в "глобальную" область?

Конечно же, НЕ в стек. При выходе в подпрограммы она должна сохранять своё значение.


evvcom   (2006-01-19 12:03:00) [7]


> MBo ©   (19.01.06 09:31) [3]

Лень проверять, но интересно, эта константа в стек ляжет или в "глобальную" область?
А вообще сама идея записи в константу ... Борланд извратился.


Юрий Зотов   (2006-01-19 09:33:00) [8]

1. Глобальные переменные (и поля объектов) и без того автоматически инициализируются нулями.

2. Локальные переменные не инициализируются.


MBo   (2006-01-19 09:31:00) [9]

{$J+}//Project-Options-Compiler-Assignable Typed Constants
procedure TForm13.FormCreate(Sender: TObject);
const
 A:Integer=0;
begin
 A:=5;
 Caption:=IntToStr(A);
end;


Nan   (2006-01-19 09:21:00) [10]

Это я знаю, а можно ли сделать, чтобы это происходило автоматом в том числе и с локальными переменными ?


Vemer   (2006-01-19 09:16:00) [11]

Var
MyInteger : Integer = 0;
Only for global.


Наверх

Титульная страница Поиск, карта сайта Написать письмо