:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки :: | ||
Л и с о в о д ы в с е х с т р а н, о б ъ е д и н я й т е с ь !!! |
Почему параметры, переданные в форму "видно" только в INIT-формы | ||
---|---|---|
Вопрос
Я передаю параметры в форму. Они принимаются в событии INIT-формы и там они имеют переданные значения. Почему эти же переданные значения не "видно" из других методов формы? Ответ Дело в том, что параметр - это переменная памяти. Как и любая другая переменная памяти, она имеет область видимости. Если параметры принимаются через команду PARAMETERS, то область видимости PRIVATE. А если через команду LPARAMETRS, то область видимости LOCAL. Кроме того, следует учитывать тот факт, что даже события, выполняющиеся при инициализации формы, выполняются не друг ИЗ друга, а друг ЗА другом. Т.е. это не вложенные друг в друга процедуры, а последовательность процедур. Следовательно, в общем случае, даже переменная с областью видимости PRIVATE, объявленная в одном из событий или методов формы, не будет "видна", ни в каком другом событии или методе формы. Чтобы обойти это ограничение, следует в том же событии INIT-формы присвоить переданные через параметры значения специально созданным свойствам (properties) формы. Как это сделать, подробно описано здесь Почему созданный массив или переменную не "видно" в других методах формы |
||
Тема | Просмотров | Написано | Написано |
---|---|---|---|
Form | 5123 | Владимир Максимов | 01.03.05 22:13 |
Почему созданный массив или переменную не "видно" в других методах формы | 7468 | Владимир Максимов | 30.03.05 16:37 |
Как перехватить нажатие на крестик в правом верхнем углу формы | 9586 | Владимир Максимов | 01.04.05 08:45 |
Почему параметры, переданные в форму "видно" только в INIT-формы | 5906 | Владимир Максимов | 22.08.05 19:43 |
Как из модальной формы вернуть несколько значений | 8134 | Владимир Максимов | 06.11.06 00:46 |
Как из модальной формы, открытой через Show(1) вернуть значение | 5897 | Владимир Максимов | 06.11.06 00:51 |
© 2006 Fox Club  |