EXTERNAL (Comando)
Advierte al Administrador de proyectos de que existe una referencia no definida.
EXTERNAL FILE FileList | ARRAY ArrayList
| CLASS | FORM | LABEL | LIBRARY | MENU
| PROCEDURE | QUERY | REPORT | SCREEN | TABLE
Parámetros
FILE FileList
Especifica que el archivo que incluya en una referencia de archivo indirecta o una substitución de macro es un archivo independiente como, por ejemplo, un archivo de texto, un archivo de mapa de bits .BMP, etc. FileList puede contener una lista de nombres de archivos separados por comas.ARRAY ArrayList
Cuando cree una matriz en un programa y luego se utilice en un programa de bajo nivel, incluya en el programa de bajo nivel ARRAY con el nombre de la matriz. ArrayList puede contener una lista de nombres de matrices separados por comas.En el ejemplo siguiente, el primer programa crea una matriz que se llama
gaInvoice
. La matriz se inicializa y se llama a un programa de bajo nivel llamadodispinvo
.dispinvo
muestra el contenido de la matriz creada en el programa de alto nivel. El comando EXTERNAL ARRAY GAINVOICE se incluye para advertir al Administrador de proyectos.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 **
Cuando se transfiera una matriz a una función o un procedimiento definidos por el usuario, la matriz correspondiente de dicha función o procedimiento definidos por el usuario debe identificarse ante el Administrador de proyectos. Incluya la palabra clave ARRAY con el nombre de la matriz incluida en la instrucción PARAMETER.
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
Indica que el archivo incluido en una referencia indirecta a archivo o en una sustitución de macro es una biblioteca de clases visuales.EXTERNAL CLASS myvclass && CLASS myvclass must exist STORE 'myvclass' TO gcClassFile MODIFY CLASS (gcClassFile)
FORM
Si incluye un archivo de definición Form en una referencia indirecta a archivo o en una sustitución de macro, incluya FORM y el nombre del archivo Form. FORM es idéntico a SCREEN.EXTERNAL FORM dataentr && FORM dataentr must exist STORE 'dataentr' TO gcFormFile DO FORM (gcFormFile)
LABEL
Indica al Administrador de proyectos que el archivo incluido en una referencia indirecta a archivo o en una sustitución de macro es un archivo de definición de etiqueta.EXTERNAL LABEL Maillabl && LABEL FORM Maillabl must exist STORE 'Maillabl' TO gcLabelFile LABEL FORM (gcLabelFile) PREVIEW
LIBRARY
Incluya LIBRARY cuando un archivo de biblioteca esté referenciado por una referencia de archivo indirecta o una sustitución de macro en SET LIBRARY.EXTERNAL LIBRARY regress && LIBRARY regress must exist STORE 'regress' TO gcStatFunc SET LIBRARY TO (gcStatFunc)
MENU
Si se incluye un archivo de definición de menú en una referencia indirecta a archivo o sustitución de macro, incluya MENU y el nombre de archivo de menú.EXTERNAL MENU pickfile && MENU pickfile must exist STORE 'pickfile' TO gcSysMenPad MODIFY MENU (gcSysMenPad)
PROCEDURE
Identifica un procedimiento externo o una función definida por el usuario.EXTERNAL PROCEDURE delblank && PROCEDURE delblank must exist STORE 'delblank' TO gcTrimBlanks DO (gcTrimBlanks) WITH 'A B C D E'
QUERY
Advierte al Administrador de proyectos que el archivo incluido en una referencia indirecta a archivo o en una sustitución de macro es un archivo de consulta.EXTERNAL QUERY sales && QUERY sales must exist STORE 'sales.qpr' TO gcSalesFile DO (gcSalesFile)
REPORT
Advierte que el archivo incluido en una referencia indirecta a archivo o en una sustitución de macro es un archivo de definición de informe.EXTERNAL REPORT overdue && REPORT overdue must exist STORE 'overdue' TO gcReportFile REPORT FORM (gcReportFile) PREVIEW
SCREEN
Si incluye un archivo de definición de formulario en una referencia indirecta a archivo o en una sustitución de macro, incluya SCREEN y el nombre del archivo de pantalla. SCREEN es idéntico a FORM.EXTERNAL SCREEN dataentr && SCREEN dataentr must exist STORE 'dataentr' TO gcScreenFile MODIFY SCREEN (gcScreenFile)
TABLE
Advierte al Administrador de proyectos que el archivo incluido en una referencia indirecta a archivo o en una sustitución de macro es una tabla de Visual FoxPro.EXTERNAL TABLE customer && Table customer must exist STORE 'customer' TO gcMyTable USE (gcMyTable)
Observaciones
Utilice EXTERNAL para incluir archivos y resolver referencias no definidas en un proyecto creado con el Administrador de proyectos. EXTERNAL lo utiliza únicamente el Administrador de proyectos y se pasa por alto durante la ejecución del programa.
Para obtener más información sobre la creación de proyectos con el Administrador de proyectos, vea Compilar una aplicación.
El Administrador de proyectos incluirá los archivos cuyo nombre especifique con EXTERNAL en un proyecto. Debe incluir CLASS, FILE, FORM, LABEL, LIBRARY, MENU, PROCEDURE, QUERY, REPORT o SCREEN antes de los nombres de archivo para indicar al Administrador de proyectos el tipo de archivos que va a incluir en el proyecto.
Hay que avisar también al Administrador de proyectos de los nombres de archivo contenidos en una expresión de nombre o sustitución de macros. Esto asegura que todos los archivos necesarios se incluirán en un proyecto cuando éste se construya. Asimismo, es necesario avisar a las matrices que se crean en otro procedimiento o en otra función definida por el usuario.
Para obtener más información acerca de las expresiones de nombres y la sustitución de macros, vea el comando &. Siempre que sea posible, utilice una expresión de nombre en lugar de una sustitución de macros para mejorar el rendimiento.
Vea también
BUILD APP | BUILD PROJECT | Compilar una aplicación | & | Administrador de proyectos