:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки ::
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  


Форумы  :: FAQ FoxPro

Почему параметры, переданные в форму "видно" только в INIT-формы
Дата: 22.08.05 18:43:55 ОтветитьЦитировать

Вопрос

Я передаю параметры в форму. Они принимаются в событии INIT-формы и там они имеют переданные значения. Почему эти же переданные значения не "видно" из других методов формы?

Ответ

Дело в том, что параметр - это переменная памяти. Как и любая другая переменная памяти, она имеет область видимости. Если параметры принимаются через команду PARAMETERS, то область видимости PRIVATE. А если через команду LPARAMETRS, то область видимости LOCAL.

Кроме того, следует учитывать тот факт, что даже события, выполняющиеся при инициализации формы, выполняются не друг ИЗ друга, а друг ЗА другом. Т.е. это не вложенные друг в друга процедуры, а последовательность процедур.

Следовательно, в общем случае, даже переменная с областью видимости PRIVATE, объявленная в одном из событий или методов формы, не будет "видна", ни в каком другом событии или методе формы.

Чтобы обойти это ограничение, следует в том же событии INIT-формы присвоить переданные через параметры значения специально созданным свойствам (properties) формы. Как это сделать, подробно описано здесь

Почему созданный массив или переменную не "видно" в других методах формы
Ratings: 0 negative/0 positive


Тема Просмотров Написано Написано
  Form 4697 Владимир Максимов 01.03.05 21:13
  Почему созданный массив или переменную не "видно" в других методах формы 6655 Владимир Максимов 30.03.05 15:37
  Как перехватить нажатие на крестик в правом верхнем углу формы 8602 Владимир Максимов 01.04.05 07:45
  Почему параметры, переданные в форму "видно" только в INIT-формы 5323 Владимир Максимов 22.08.05 18:43
  Как из модальной формы вернуть несколько значений 7179 Владимир Максимов 05.11.06 23:46
  Как из модальной формы, открытой через Show(1) вернуть значение 5101 Владимир Максимов 05.11.06 23:51


Извините, но у вас нет прав для того, чтобы писать в этом форуме.

On-line: 46 Mitchman  and Guests: 45


© 2006 Fox Club 
Яндекс.Метрика