Обеспечивает активацию диалогового бокса Open (Открыть) для выбора требуемого класса из библиотеки классов, создает массив, содержащий наименование выбранной библиотеки классов и соответствующего Класса.
AGETCLASS(ArrayName [, cLibraryName [, cClassName [, cTitleText |
Параметры
- ArrayName
-
Определяет имя массива, в который размещаются имена классов и имена файлов соответствующих библиотек классов. В следующей далее таблице описываются соответствующие столбцы рассматриваемого Массива.
Элемент массива Содержание 1
Имя файла выбранной Библиотеки Классов.
2
Имя выбранного Класса из соответствующей библиотеки.
- cLibraryName
-
Определяет имя библиотеки классов, с которой начинается выбор требуемого класса, при открытии описанного выше диалогового бокса OPEN . cLibraryName должен быть либо соответствующим файлом библиотеки классов (.vcx) или процедурным классом (.prg), содержащим требуемые описания классов.
Имя указанной библиотеки классов (имя файла) отображается в соответствующем текстовом поле File name. Может возникнуть ошибочная ситуация, когда указана в данном параметре библиотека классов отсутствует или не найдена, или задана пустая строка, или значение =Null.
- cClassName
-
Определяет имя Класса, с которого начинается выбор при открытии указанного диалогового бокса выбора требуемого Класса. Если указанный вами класс не найден, то выделяется первый класс в выбраннойц библиотеке Классов. Ошибочная ситуация может возникнуть в случае, когда рассматриваемые параметры cLibraryName / cClassName отсутствуют или имеют значение = Null.
- cTitleText
-
Определяет текст заголовка рассматриваемого диалогового бокса Open. По-умолчанию: "Open" (Открыть).
- cFileNameCaption
-
Определяет текстовую строку, размещаемую рядом с текстовым полем "File name". По-умолчанию: "File name:" (Имя Файла).
- cButtonCaption
-
Определяет замещаемый текст командной кнопки <OK>.
Возвращаемое значение
Логического типа. Функция AGETCLASS( ) возвращает значение = True (.T.), если трубуемый класс выбран (с помощью рассматриваемой функции), и создан одномерный массив, с соответствующими элементами (двумя элементами). Первый элемент массива - имя файла выбранной библиотеки классов; второй элемент массива - имя выбранного класса из данной библиотеки. Функция AGETCLASS возвращает значение = False (.F.), если пользователь отказался отвыбора библиотеки классов или Класса, нажал клавишу ESC, командную кнопку <Cancel>, или закрыл диалоговый бокс кнопкой окна Close (Х).
Комментарии
Если указанный массив отсутствует, Visual FoxPro автоматически создаст данный массив.
Если указанный массив существует, но имеет недостаточный размер элементов, система Visual FoxPro автоматически увеличит его размерность для размещения имени библиотеки и имени класса.
Если существующий массив имеет избыточный размер, Visual FoxPro автоматически уменьшит его размер до требуемой величины. Если массив существует, а функция AGETCLASS( ) = False (.F.), потому что при выборе в диалоговом боксе Class Library пользователь нажал клавишу ESC, или кнопку Cancel, или закрыл окно диалогового бокса кнопкой Close (Х), указанный массив не изменяется.
Если массив не существует, а функция AGETCLASS( ) = false (.F.), то указанный массив не создается.
Система версии Visual FoxPro 8.0 не поддерживает рассматриваемую функцию AGETCLASS( ) в режиме работы программного модуля Run-Time. AGETCLASS( ) поддерживается системой Visual FoxPro 9.0 в библиотеках COM (Dll) Run-Time. Однако библиотеки классов, размещенные в процедурных файлах Program (*.prg) недоступны в соответствующих списках Files of type рассматриваемого выше Диплогового бокса.
Пример
В следующем далее примере создается массив с именем aClassLib
.
Сначала устанавливается требуемый Каталог, в данном случае
\Samples, в котором выбираются библиотеки классов. Функция
AGETCLASS( ) используется для сканирования библиотек классов с
именами: "Buttons" и "VCR". Если вы нажимаете кнопку "Modify", имя
выбранного Класса и имя соответствующей библиотеки помещается в массив.
Данный класс открывается для Изменения в соответствующем дизайнере
Классов (Class designer).
Копировать Код | |
---|---|
LOCAL aClassLib(2) && Create an array, initialized to .F. |