import — Importieren von einer oder mehreren externen Prozeduren.
import( : : ProcedureSource : )
Mit Hilfe des Befehls import ist es möglich aus einem HDevelop
Programm heraus weitere, externe Prozeduren zu importieren. Die importierten
Prozeduren stehen dabei nur derjenigen Prozedur zur Verfügung, die auch den
import Befehl enthält, allen anderen nicht.
import Befehle dürfen an jeder beliebigen Stelle in einer Prozedur
auftauchen. Die importierten Prozeduren stehen erst ab dem import
Befehl zur Verfügung und können durch nachfolgende import Befehle
mit anderen, gleichnamigen Prozeduren überschrieben werden.
proc() * unaufgelöster Prozeduraufruf import ./the_one_dir proc() * wird nach ./the_one_dir/proc.hdvp aufgelöst import ./the_other_dir proc() * wird nach ./the_other_dir/proc.hdvp aufgelöst
Der Parameter ProcedureSource gibt die Quelle der zu importierenden
Prozeduren an. Diese kann entweder ein Dateiverzeichnis oder eine
Prozedurbibliotheksdatei bezeichnen. In beiden Fällen kann die Angabe sowohl
als absoluter als auch als relativer Pfad erfolgen. In letzterem Falle sieht
HDevelop den Pfad als relativ zu dem Verzeichnis an, das die Prozedur mit
dem import Befehl enthält. Enthält der Pfad Leerzeichen, so muß er
in Anführungszeichen stehen, andernfalls ist die Programmzeile ungültig.
Im Gegensatz zu den System-, Benutzer- und Sitzungsprozedurpfaden werden
beim import Befehl ausschließlich die angegebenen Dateiverzeichnisse
nach Prozeduren durchsucht, nicht jedoch dessen Unterverzeichnisse.
Dabei ist zu beachten, dass import ein nicht
ausführbarer Befehl ist und ProcedureSource deswegen schon beim
Laden der Prozedur ausgewertet werden muss. ProcedureSource
muss also ein konstanter Ausdruck sein, und es ist insbesondere nicht
möglich, eine Textvariable in ProcedureSource zu übergeben.
Allerdings darf ProcedureSource auch
Umgebungsvariablen enthalten, die von HDevelop entsprechend aufgelöst
werden. Umgebungsvariablen
müssen, unabhängig von der verwendeten Plattform, in jedem Fall in
Windows Syntax angegeben werden, also z.B. %VARIABLE%.
import überprüft nicht, ob der Pfad ProcedureSource
überhaupt existiert oder ob er eine Prozedurbibliothek oder ein Verzeichnis
beschreibt. import Befehle mit
nicht existierenden oder wirkungslosen Pfaden bleiben daher in jedem Fall
gültige Programmzeilen.
Importierte Pfade werden in HDevelop in den Prozedur Einstellungen
gesondert aufgeführt. Selbstverständlich können diese Pfade aus den Prozedur
Einstellungen heraus nicht geändert noch deaktiviert werden. Prozeduren, die
ausschließlich durch import Anweisungen verfügbar sind, werden mit
einem speziellen Icon gekennzeichnet.
Im Programmlisting wird der import Befehl nicht in
Operatorschreibweise sondern ohne Klammern angegeben, da es sich hierbei
um eine Deklaration und nicht um einen Operatoraufruf handelt.
ProcedureSource (input_control) string → (string)
Verzeichnis oder Prozedurbibliotheksdatei, in denen die zu importierenden Prozeduren gespeichert sind
import wird nicht ausgeführt.
Foundation