Freigeben über


Kompilieren von Quellcode

In Visual FoxPro können Sie Visual FoxPro-Quellcode zu Laufzeitdateien kompilieren, die entweder mit vfp7r.dll oder mit vfp7t.dll erstellt werden. In früheren Versionen von Visual FoxPro mussten Sie für jede Zeile die Makrosubstitution oder Ausdrucksauswertung verwenden, um Code auszuführen, der zur Laufzeit generiert wurde. Aufgrund der Komplexität der Ausführung großer Codeblöcke und der Leistungseinbußen, die mit der Verwendung des Makrooperators & oder der EVALUATE( )-Funktion verbunden war, war diese Vorgehensweise nicht immer optimal.

Der COMPILE-Befehl ist nun in der Laufzeitumgebung aktiviert, so dass Anwendungen eine Programmdatei (PRG-Datei) generieren und kompilieren können. Mit Hilfe der STRTOFILE( )-Funktion können Sie den Code in eine Programmdatei ausgeben. Die Lautzeitkompilierung kann für alle vom COMPILE-Befehl unterstützten Dateien eingesetzt werden, einschließlich Programme, Formulare, Klassen, Etiketten, Berichte und Datenbanken.

Zwischen dem Compiler in der Entwicklungsumgebung und dem Laufzeitcompiler gibt es einige Unterschiede:

  • Der ?-Schalter des COMPILE-Befehls wurde für die Laufzeitumgebung deaktiviert, da für unbeaufsichtigte Automatisierungsserver (DLLs) keine Modi zulässig sind, die Benutzereingaben einschließen.

  • Der SET DEVELOPMENT-Befehl hat in der Laufzeitumgebung keine Auswirkungen.

    Wenn Sie das vollständige Produkt verwenden, führt die Verwendung von SET DEVELOPMENT dazu, dass Visual FoxPro bei der Programmausführung das Erstellungsdatum und die Uhrzeit eines Programms mit den entsprechenden Attributen der kompilierten Objektdatei vergleicht. Wenn SET DEVELOPMENT auf ON festgelegt ist, wird immer die aktuellste Version ausgeführt. Veraltete Programme werden automatisch neu kompiliert. In der Laufzeitumgebung müssen Sie den COMPILE-Befehl explizit aufrufen, um den Quellcode erneut zu kompilieren. Dies bedeutet, dass ein Aufruf des DO-Befehls in der Laufzeitumgebung nie dazu führt, dass die PRG-Datei neu kompiliert wird. Darüber hinaus ignoriert der DO-Befehl in der Laufzeitumgebung die Dateierweiterung und sucht nach einer Datei mit der Erweiterung FXP; dies gilt auch dann, wenn Sie für die Datei die Erweiterung PRG angeben.

Siehe auch

Frühes (vtable) und spätes (Idispatch) Binden | Interoperabilität und das Internet | Skalierbarkeit und Multithreading | Visual FoxPro-Laufzeitbibliotheken