Version 3
Undefined (Variablenname) Boolean
Parameter | Typ | Beschreibung | |
Variablenname | Variable | Zu testende Variable | |
Funktionsergebnis | Boolean | True = Variable ist derzeit undefiniert | |
False = Variable ist derzeit definiert |
Beschreibung
Die Funktion Undefined gibt den Wert Wahr zurück, wenn Variablenname undefiniert ist, d. h., wenn Variablenname noch nicht angelegt bzw. verwendet wurde.
Diese Funktion ist bei Anwendung des Compilers nicht sinnvoll. Sie gibt nämlich immer den Wert Falsch an, da alle Variablen beim Programmstart definiert werden.
Beispiele
1. Bis 4D Version 6 konnten Sie mit folgender Methode testen, ob die Anwendung im interpretierten oder kompilierten Modus läuft:
anyVar:="Hello" CLEAR VARIABLE(anyVar) If (Undefined(anyVar)) ` Sie sind im interpretierten Modus Else ` Sie sind im kompilierten Modus End if
Ab 4D Version 6 können Sie für diesen Test die Funktion Compiled application verwenden.
2. Folgender Code verwaltet die Prozesserstellung, wenn eine Menüzeile für ein spezifisches Plug-In Ihrer Anwendung ausgewählt wird. Existiert der Prozess bereits, bringen Sie ihn nach vorne; existiert er nicht, starten Sie ihn. Dafür richten Sie für jedes Plug-In der Anwendung eine Interprozessvariable <>PID_... ein, die Sie in der Datenbankmethode On Startup initialisieren.
Beim Entwickeln der Datenbank fügen Sie neue Plug-Ins hinzu. Anstatt jedes Mal die Datenbankmethode On Startup zu ändern (Hinzufügen der Initialisierung der entsprechenden <>PID_...) und die Datenbank zur Reinitialisierung erneut zu öffnen, verwalten Sie das Hinzufügen eines neuen Plug-Ins mit der Funktion Undefined "on the fly":
` Globale Prozedur M_ADD_CUSTOMERS If (Undefined(<>PID_ADD_CUSTOMERS)) ` Kümmert sich um zunkünftige Entwicklungsphasen C_LONGINT(<>PID_ADD_CUSTOMERS) <>PID_ADD_CUSTOMERS:=0 End if If (<>PID_ADD_CUSTOMERS=0) <>PID_ADD_CUSTOMERS:=New process("P_ADD_CUSTOMERS";64*1024;"P_ADD_CUSTOMERS") Else SHOW PROCESS(<>PID_ADD_CUSTOMERS) BRING TO FRONT(<>PID_ADD_CUSTOMERS) End if ` Hinweis: P_ADD_CUSTOMERS, die Hauptprozeßmethode, setzt <>PID_ADD_CUSTOMERS beim Beenden auf Null.
Referenz