Событие Init

Имеет место при создании объекта.

Применение:
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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 12.02.2003