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


Форумы  :: FAQ FoxPro

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

Вопрос

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

Ответ

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

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

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

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

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


Тема Просмотров Написано Написано
  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


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

On-line: 1 (Гостей: 1)

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