Freigeben über


EXTERNAL-Befehl

Übergibt dem Projekt-Manager eine Warnmeldung über einen undefinierten Verweis.

EXTERNAL FILE FileList | ARRAY ArrayList
   | CLASS | FORM | LABEL | LIBRARY | MENU
   | PROCEDURE | QUERY | REPORT | SCREEN | TABLE

Parameter

  • FILE FileList
    Gibt an, dass die Datei, die Sie in einem indirekten Dateiverweis oder in einer Makrosubstitution angeben, eine eigenständige Datei ist, wie z. B. eine Textdatei, BMP-Datei usw. FileList kann eine Liste von Dateinamen enthalten, die durch Kommas getrennt werden.

  • ARRAY ArrayList
    Wenn ein Array in einem Programm erstellt wird, das in einem Programm unterer Ebene verwendet wird, geben Sie in diesem Programm ARRAY mit dem Arraynamen an. ArrayList kann eine Auflistung von Arraynamen enthalten, die durch Kommas getrennt werden.

    Im folgenden Beispiel erstellt das erste Programm ein Array mit dem Namen gaInvoice. Das Array wird initialisiert und ein Programm unterer Ebene mit dem Namen dispinvo aufgerufen. dispinvo zeigt den Inhalt des Arrays an, das in dem Programm höherer Ebene erstellt wurde. Der EXTERNAL ARRAY GAINVOICE-Befehl ist angegeben, um eine Warnmeldung an den Projekt-Manager auszugeben.

    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 **

Wird ein Array an eine benutzerdefinierte Funktion oder Prozedur übergeben, muss das entsprechende Array in dieser Funktion oder Prozedur dem Projekt-Manager mitgeteilt werden. Geben Sie die ARRAY-Option mit dem Namen des Arrays an, das in der PARAMETER-Anweisung genannt wird.

    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
    Gibt an, dass es sich bei der Datei, die Sie in einem indirekten Dateiverweis oder in einer Makrosubstitution angeben, um eine Bibliothek visueller Klassen handelt.

    EXTERNAL CLASS myvclass  && CLASS myvclass must exist
    STORE 'myvclass' TO gcClassFile
    MODIFY CLASS (gcClassFile)
    
  • FORM
    Wenn eine Formulardefinitionsdatei in einem indirekten Dateiverweis oder einer Makrosubstitution angegeben ist, geben Sie FORM und den Namen der Formulardatei an. FORM ist mit SCREEN identisch.

    EXTERNAL FORM dataentr  && FORM dataentr must exist
    STORE 'dataentr' TO gcFormFile
    DO FORM (gcFormFile)
    
  • LABEL
    Gibt an, dass es sich bei der Datei, die Sie in einem indirekten Dateiverweis oder in einer Makrosubstitution angeben, um eine Etikettendefinitionsdatei handelt.

    EXTERNAL LABEL Maillabl     && LABEL FORM Maillabl must exist
    STORE 'Maillabl' TO gcLabelFile
    LABEL FORM (gcLabelFile) PREVIEW 
    
  • LIBRARY
    Geben Sie LIBRARY an, wenn in SET LIBRARY durch einen indirekten Dateiverweis oder eine Makrosubstitution auf eine Bibliotheksdatei verwiesen wird.

    EXTERNAL LIBRARY regress  && LIBRARY regress must exist
    STORE 'regress' TO gcStatFunc
    SET LIBRARY TO (gcStatFunc)
    
  • MENU
    Wenn eine Menüdefinitionsdatei in einem indirekten Dateiverweis oder einer Makrosubstitution angegeben ist, geben Sie MENU und den Namen der Menüdatei an.

    EXTERNAL MENU pickfile  && MENU pickfile must exist
    STORE 'pickfile' TO gcSysMenPad
    MODIFY MENU (gcSysMenPad)
    
  • PROCEDURE
    Identifiziert eine externe Prozedur oder benutzerdefinierte Funktion.

    EXTERNAL PROCEDURE delblank     && PROCEDURE delblank must exist
    STORE 'delblank' TO gcTrimBlanks
    DO (gcTrimBlanks) WITH 'A B C D E'
    
  • QUERY
    Gibt an, dass es sich bei der Datei, die Sie in einem indirekten Dateiverweis oder in einer Makrosubstitution angeben, um eine Abfragedatei handelt.

    EXTERNAL QUERY sales  && QUERY sales must exist
    STORE 'sales.qpr' TO gcSalesFile
    DO (gcSalesFile)
    
  • REPORT
    Gibt an, dass es sich bei der Datei, die Sie in einem indirekten Dateiverweis oder in einer Makrosubstitution angeben, um eine Berichtsdefinitionsdatei handelt.

    EXTERNAL REPORT overdue     && REPORT overdue must exist
    STORE 'overdue' TO gcReportFile
    REPORT FORM (gcReportFile) PREVIEW
    
  • SCREEN
    Wenn eine Formulardefinitionsdatei in einem indirekten Dateiverweis oder einer Makrosubstitution angegeben ist, geben Sie SCREEN und den Namen der Maskendatei an. SCREEN ist mit FORM identisch.

    EXTERNAL SCREEN dataentr  && SCREEN dataentr must exist
    STORE 'dataentr' TO gcScreenFile
    MODIFY SCREEN (gcScreenFile)
    
  • TABLE
    Gibt an, dass es sich bei der Datei, die Sie in einem indirekten Dateiverweis oder in einer Makrosubstitution angeben, um eine Visual FoxPro-Tabelle handelt.

    EXTERNAL TABLE customer && Table customer must exist
    STORE 'customer' TO gcMyTable
    USE (gcMyTable)
    

Hinweise

Verwenden Sie den EXTERNAL-Befehl, um Dateien anzugeben und um undefinierte Verweise in einem vom Projekt-Manager erstellten Projekt aufzulösen. EXTERNAL wird nur vom Projekt-Manager verwendet und wird während der Programmausführung ignoriert.

Weitere Informationen zum Erstellen von Projekten mit dem Projekt-Manager finden Sie unter Kompilieren einer Anwendung.

Wenn Sie Dateinamen mit EXTERNAL angeben, werden diese Dateien vom Projekt-Manager in ein Projekt einbezogen. Vor einem oder mehreren Dateinamen (durch Kommas getrennt) müssen Sie CLASS, FILE, FORM, LABEL, LIBRARY, MENU, PROCEDURE, QUERY, REPORT, SCREEN, oder TABLE angeben, damit der Projekt-Manager die Dateitypen kennt, die in das Projekt einbezogen werden sollen.

Außerdem muss der Projekt-Manager auf solche Dateinamen hingewiesen werden, die in einem Namensausdruck oder einer Makrosubstitution vorkommen. So können Sie sicherstellen, dass beim Aufbau des Projekts alle notwendigen Dateien angegeben sind. Sie müssen den Projekt-Manager auch auf Arrays hinweisen, die in einer anderen Prozedur oder benutzerdefinierten Funktion erstellt werden.

Weitere Informationen zu Namensausdrücken und Makrosubstitution finden Sie unter &-Befehl. Verwenden Sie, wenn möglich, einen Namensausdruck anstelle einer Makrosubstitution. Auf diese Weise erzielen Sie eine bessere Leistung.

Siehe auch

BUILD APP | BUILD PROJECT | Kompilieren einer Anwendung | & | Projekt-Manager