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