Предупреждает окно диспетчера проектов о неопределенной ссылке.
EXTERNAL FILE FileList | ARRAY ArrayList | CLASS | FORM | LABEL | LIBRARY | MENU | PROCEDURE | QUERY | REPORT | SCREEN | TABLE |
Параметры
- FILE FileList
-
Предупреждает диспетчер проектов о том, что файл, который вы включили в косвенную ссылку или макроподстановку, является независимым, таким как тектовый файл, растр .BMP и т.п. Аргумент FileList может содержать список имен файлов, разделенных запятыми.
- ARRAY ArrayList
-
Если массив создан в какой-либо программе, а затем используется в программе более низкого уровня, выдайте в этой программе низкого уровня команду ARRAY с именем массива. ArrayList может содержать список имен массивов, разделенных запятыми.
В следующем примере первая программа создает массив
gaInvoice
. Этот массив инициализируется, после чего вызывается программаdispinvo
более низкого уровня. Программаdispinvo
отображает содержимое массива, созданное в программе более высокого уровня. оманда EXTERNAL ARRAY GAINVOICE включена для того, чтобы предупредить диспетчер проектов.Copy Code DIMENSION gaInvoice(4) STORE 'Paid' TO gaInvoice DO dispinvo *** Program dispinvo *** PROCEDURE dispinvo EXTERNAL ARRAY gaInvoice ? gaInvoice(1) ? gaInvoice(2) ? gaInvoice(3) ? gaInvoice(4) RETURN *** End of dispinvo program ***
Когда массив передается в пользовательскую функцию или процедуру, соответствующий массив в пользовательской функции или процедуре должен быть идентифицирован для диспетчера проектов. Задайте опцию ARRAY с именем массива, указанным в операторе PARAMETER.
Copy Code DIMENSION gaArrayOne(2) && Create an array EXTERNAL ARRAY gaArrayTwo && Name of the array used in the UDF SET TALK OFF STORE 10 TO gaArrayOne(1) STORE 2 TO gaArrayOne(2) = ADDTWO(@gaArrayOne) && Pass the array by reference to a UDF FUNCTION ADDTWO PARAMETER gaArrayTwo CLEAR gaArrayTwo(1) = gaArrayTwo(1) + 2 gaArrayTwo(2) = gaArrayTwo(2) + 2 ? gaArrayTwo(1) ? gaArrayTwo(2)
- CLASS
-
Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является библиотекой визуальных классов.
Copy Code EXTERNAL CLASS myvclass && CLASS myvclass must exist STORE 'myvclass' TO gcClassFile MODIFY CLASS (gcClassFile)
- FORM
-
Если в косвенной ссылке на файл или в макроподстановке указан файл определения объекта Form, задайте предложение FORM с именем файла формы. Предложения FORM и SCREEN идентичны.
Copy Code EXTERNAL FORM dataentr && FORM dataentr must exist STORE 'dataentr' TO gcFormFile DO FORM (gcFormFile)
- LABEL
-
Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является файлом определения этикетки.
Copy Code EXTERNAL LABEL Maillabl && LABEL FORM Maillabl must exist STORE 'Maillabl' TO gcLabelFile LABEL FORM (gcLabelFile) PREVIEW
- LIBRARY
-
Задайте ключевое слово LIBRARY, если в команде SET LIBRARY косвенная ссылка на файл или макроподстановка указывает файл библиотеки.
Copy Code EXTERNAL LIBRARY regress && LIBRARY regress must exist STORE 'regress' TO gcStatFunc SET LIBRARY TO (gcStatFunc)
- MENU
-
Если в косвенную ссылку на файл или в макроподстановку включен файл определения меню, задайте опцию MENU с именем файла меню.
Copy Code EXTERNAL MENU pickfile && MENU pickfile must exist STORE 'pickfile' TO gcSysMenPad MODIFY MENU (gcSysMenPad)
- PROCEDURE
-
Идентифицирует внешнюю процедуру или пользовательскую функцию.
Copy Code EXTERNAL PROCEDURE delblank && PROCEDURE delblank must exist STORE 'delblank' TO gcTrimBlanks DO (gcTrimBlanks) WITH 'A B C D E'
- QUERY
-
Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является файлом запроса.
Copy Code EXTERNAL QUERY sales && QUERY sales must exist STORE 'sales.qpr' TO gcSalesFile DO (gcSalesFile)
- REPORT
-
Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является файлом определения отчета.
Copy Code EXTERNAL REPORT overdue && REPORT overdue must exist STORE 'overdue' TO gcReportFile REPORT FORM (gcReportFile) PREVIEW
- SCREEN
-
Если в косвенной ссылке на файл или в макроподстановке указан файл определения формы, задайте предложение FORM с именем файла экрана. Предложения SCREEN и FORM идентичны.
Copy Code EXTERNAL SCREEN dataentr && SCREEN dataentr must exist STORE 'dataentr' TO gcScreenFile MODIFY SCREEN (gcScreenFile)
- TABLE
-
Предупреждает диспетчер проектов о том, что файл, указанный в косвенной ссылке на файл или в макроподстановке, является таблицей Visual FoxPro.
Copy Code EXTERNAL TABLE customer && Table customer must exist STORE 'customer' TO gcMyTable USE (gcMyTable)
Замечания
Используйте команду EXTERNAL, чтобы включать необходимые файлы и разрешать неопределенные ссылки в проекте, созданном диспетчером проектов. Команда EXTERNAL используется только диспетчером проектов и игнорируется в процессе выполнения программы.
Подробнее о создании проектов с помощью диспетчера проектов смотрите Компиляция приложения.
Файлы, имена которых вы задаете в команде EXTERNAL, включаются в проект диспетчером проектов. Перед именем файла необходимо задать ключевое слово CLASS, FILE, FORM, LABEL, LIBRARY, MENU, PROCEDURE, QUERY, REPORT, SCREEN или TABLE, чтобы сообщить диспетчеру проектов тип файла, включаемого в проект.
Кроме того, диспетчер проектов следует предупреждать об именах файлов, содержащихся в выражении имени или в макроподстановке. Это гарантирует включение в строящийся проект всех необходимых файлов. Нужно также предупреждать о массивах, созданных в другой процедуре или в пользовательской функции.
Подробнее о выражениях имени и макроподстановках см. описание команды &. По мере возможности старайтесь всегда использовать вместо макроподстановки выражение имени: это повысит производительность.
Смотрите также
Справочное руководство
Команда BUILD APPКоманда BUILD PROJECT
Окно диспетчера проектов
Прочие ресурсы
Команды (Visual FoxPro)Справочное руководство по языку (Visual FoxPro)