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