Имеет место при создании объекта.
Применение:
CheckBox, ComboBox, CommandButton, CommandGroup, Объект Container, Объект Control, Cursor, Custom, DataEnvironment, EditBox, Form, FormSet, Grid, Image, Label, Line, ListBox, Связанный элемент управления OLE, Элемент управления OLE - контейнер, OptionButton, OptionGroup, Page, PageFrame, Relation, Shape, Spinner, TextBox, Timer, ToolBar.
Синтаксис:
PROCEDURE Object.Init [LPARAMETERS Param1, Param2,...]
Параметры:
Param1, Param2...
Эти параметры необязательны, но если они передаются, необходимо включить оператор LPARAMETERS или PARAMETERS, где они все перечислены. В противном случае Visual FoxPro сгенерирует ошибку.
Комментарии:
В случае объектов FormSet и других объектов-контейнеров, события Init для всех содержащихся в них объектов инициируются до события Init контейнера, так что вы можете обращаться к этим объектам в рамках события Init контейнера. События Init для содержащихся в контейнере объектов происходят в том порядке, в каком эти объекты включались в контейнер.
Чтобы предотвратить создание элемента управления, возвратите "ложь" (.F.) из события Init. Событие Destroy не будет инициировано. Например, следующий код возвращает значение "ложь" (.F.), если таблица накладных недоступна:
PROCEDURE INIT IF NOT FILE("INVOICE.DBF") ERROR 'Initialization Failed: File not found' RETURN .F. ELSE USE INVOICE IN 0 AGAIN THIS.WorkArea = SELECT() ENDIF ENDPROC