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

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

Код: plaintext
DODEFAULT() 

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

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

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

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

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

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

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fox7help/html/lngcc.asp
...
Рейтинг: 0 / 0
Что сработает первым???
    #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
Что сработает первым???
    #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
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что сработает первым???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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