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 llamado dispinvo. 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