Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что сработает первым??? / 11 сообщений из 11, страница 1 из 1
22.09.2004, 10:53
    #32705783
TarasV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
Init форми или Init грида на ней???
А то чегото код через раз работает нормально.
...
Рейтинг: 0 / 0
22.09.2004, 10:55
    #32705791
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
Сначала Init-вложенных объектов, потом Init-контейнера.

Форма - это контейнер по отношению ко всем объектам внутри нее.
Grid - это контейнер, по отношению к столбцам, заголовкам и ячейкам внутри него.
...
Рейтинг: 0 / 0
22.09.2004, 11:10
    #32705846
TarasV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
А если описал свой клас грида, написал для него Инит, а потом еще дописал код когда он на форме.Тогда што первым, код в Класе, а потом то что дописал?Да?
...
Рейтинг: 0 / 0
22.09.2004, 12:11
    #32706037
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
если я не ошибаюсь то тот что в классе вообще не сработает
...
Рейтинг: 0 / 0
22.09.2004, 13:17
    #32706283
Новоселов Олег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
Для выполнения метода родительского класса, изнутри подкласса, нужно явно вызвать

Код: plaintext
DODEFAULT() 

В Вашем случае:
если это первая команда в Init на форме - сначала выполнится код в классе;
если это последняя команда в Init на форме - сначала выполнится код формы.

Также код родительского класса можно вызвать внутри, например, если выполнилось какое-то условие.

Все зависит от того, что Вы хотите сделать.
...
Рейтинг: 0 / 0
22.09.2004, 13:22
    #32706299
Новоселов Олег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
Иначе говоря:
если внутри подкласса нет вызова DODEFAULT() , кода базового класса, то зачем писать обработчик метода в самом классе...
...
Рейтинг: 0 / 0
22.09.2004, 14:07
    #32706471
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
TarasVА если описал свой клас грида, написал для него Инит, а потом еще дописал код когда он на форме.Тогда што первым, код в Класе, а потом то что дописал?Да?

Тебе же ясно было отвечено ВладимиромМ:
ВладимирМ
Сначала Init-вложенных объектов, потом Init-контейнера

А если ты дописал код не в Init, то тогда будет именно так:
АвторТогда первым - код в Класе, а потом то что дописал. Да!
...
Рейтинг: 0 / 0
22.09.2004, 14:34
    #32706598
Maltsev Max
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
В VFP 5.0 сначала форма, а потом объект. Я создавал курсор в ините формы, а RowSource в Gride на этапе разработке указывал имя этого курсора.

В VFP 6.0 стало наоборот ...
...
Рейтинг: 0 / 0
22.09.2004, 14:40
    #32706626
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
:: Scope Resolution Operator

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fox7help/html/lngcc.asp
...
Рейтинг: 0 / 0
22.09.2004, 14:44
    #32706640
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
DEFINE CLASS cmdQuitButton AS CommandButton
Caption = "\<Quit" && Caption on command button
Visible = .T. && Show button on form
PROCEDURE Click
WAIT WINDOW "Executing the CLICK procedure for cmdQuit." TIMEOUT 1
CLEAR EVENTS && Stop event processing
ENDDEFINE
DEFINE CLASS cmdAnotherButton AS cmdQuitButton
Caption = "Click to quit"
PROCEDURE Click
WAIT WINDOW "Click event for button: cmdAnotherButton" TIMEOUT 1
cmdQuitButton::Click
ENDDEFINE
...
Рейтинг: 0 / 0
22.09.2004, 15:19
    #32706737
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что сработает первым???
Maltsev MaxВ VFP 5.0 сначала форма, а потом объект. Я создавал курсор в ините формы, а RowSource в Gride на этапе разработке указывал имя этого курсора.

В VFP 6.0 стало наоборот ...
Не надо вводить народ в заблуждение. Вот выдержка из русского Help по VFP3

HELP VFP3В случае объектов FormSet и других объектов-контейнеров, события Init для всех содержащихся в них объектов инициируются до события Init контейнера, так что вы можете обращаться к этим объектам в рамках события Init контейнера. События Init для содержащихся в контейнере объектов происходят в том порядке, в каком эти объекты включались в контейнер.

А то, что у Вас Grid подхватывал курсор, созданный после его инициализации, так это еще не говорит о том, что последовательность событий была другая. Скорее, надо смотреть что именно подхватит Grid, если указанный в дезайнере RecordSource не существует на момент инициализации.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что сработает первым??? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]