![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
о времени существования переменных
Дева © (2005-11-19 02:22:00)Подскажите, когда загружаются и выгружаются глобальные переменные модуля, вызванного методом ShowMessagе (т.е. форма, fsNormal, AutoCreate в свойствах проекта)?
Anatoly Podgoretsky (2005-11-19 14:52:00) [1]Глобальные переменные существуют все время существования программы.
Virgo_Style (2005-11-19 11:39:00) [2]Переменная как таковая будет существовать все время работы программы, однако AnsiString (по умолчанию именно она скрывается за String) в действительности является указателем на тело строки, а вот оно может и не существовать (если строка пустая). Память под тело строки выделяется автоматически, впрочем, можно это сделать вручную с помощью SetLength.
Это для "общего развития", или есть какая-то конкретная проблема? :-)
Дева (2005-11-19 11:22:00) [3]Соррии, действительно, ShowModal
Я все-таки не поняла. Вот у меня есть глобальная переменная
s: string
когда она попадет в память компьютера (или просто зарезервирует там место под себя) и когда она ее освободит?
Джо (2005-11-19 02:36:00) [4]
> [3] Германн © (19.11.05 02:33)
> инициализируются при каждом создании сего модуля.
Модуль создается всего один раз. Программистом. Коммандой File/New unit... :)
Германн (2005-11-19 02:33:00) [5]2 Дева © (19.11.05 02:22)
Рискну предположить, что вызывается функция ShowModal! А не ShowMessage.
Но вот, чисто формально, имхо, глобальные переменные модуля инициализируются при каждом создании сего модуля.
Джо (2005-11-19 02:26:00) [6]И никакие модули методом ShowMessage не вызываются.
Джо (2005-11-19 02:25:00) [7]Глобальные переменные модуля никак не связаны ни с какими формами (если переменная не содержит ссылки на экземпляр формы, разумеется) и, тем более, ShowMessage.