LAUNCH EXTERNAL PROCESS

4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004


LAUNCH EXTERNAL PROCESS (DateiName{; EingVar{; AusgVar{; FehlerVar}}})

ParameterTypBeschreibung
DateiNameStringPfad und Argumente der zu startenden Datei
EingVarString / BLOBEingabevariable (stdin)
AusgVarString / BLOBAusgabevariable (stdout)
FehlerVarString / BLOBFehlervariable (stderr)

Hinweis: Dieser Befehl wurde für fortgeschrittene Benutzer eingerichtet.

Beschreibung

Mit dem Befehl LAUNCH EXTERNAL PROCESS können Sie unter Windows und Mac OS X einen externen Prozess von 4D starten. Auf Mac OS X gewährt dieser Befehl Zugriff auf jedes ausführbare Programm, das sich über das Terminal starten lässt.

Hinweis: Für 4D Pack Benutzer hat dieser Befehl dieselben Funktionalitäten (plus Erweiterungen) wie die Funktion AP_Sublaunch.

In DateiName übergeben Sie den festen Dateipfad des auszuführenden Programms, sowie bei Bedarf die erforderlichen Argumente.

Auf Mac OS X können Sie auch nur den Namen des Programms übergeben. 4D findet dann über die Umgebungsvariable PFAD das ausführbare Programm.

Warnung: Dieser Befehl kann nur ausführbare Programme starten; er kann keine Anweisungen ausführen, die Teil der "Shell" (Befehls-Interpreter) sind. Auf Mac OS ist es z.B. nicht möglich, mit diesem Befehl die Anweisung Echo auszuführen oder Indirektionen.

EingVar (optional) zeigt den externen Prozess stdin an. Nach Ausführung des Befehls enthalten die Variablen AusgVar und FehlerVar – sofern übergeben – stdout und stderr des externen Prozesses. Sie können statt Parameter vom Typ String auch BLOB verwenden, wenn Sie Text größer als 32 KB oder binäre Daten, z.B. Bilder verwenden.

Hinweis: Verwenden Sie die Umgebungsvariable _4D_OPTION_BLOCKING_EXTERNAL_PROCESS mit dem Befehl SET ENVIRONMENT VARIABLE (asynchrone Ausführung, gibt er in den Parametern AusgVar und FehlerVar keinen Wert zurück.

Beispiele auf Mac OS X

Die folgenden Beispiele verwenden das MacOS X Terminal aus dem Ordner Applications/Utilities.

1. Den Zugriff für eine Datei ändern (chmod ist die MacOS X Funktion zum Ändern des Dateizugriffs):

   LAUNCH EXTERNAL PROCESS ("chmod +x /folder/myfile.txt")

2. Eine Textdatei bearbeiten (cat ist die MacOS X Datei zum Bearbeiten von Dateien):

   C_TEXT(input;output)
   input:=""
   LAUNCH EXTERNAL PROCESS ("/bin/cat /folder/myfile.txt";input;output)

3. Den Inhalt eines Ordners anzeigen (ls -l is ist die Entsprechung unter UNIX für die Funktion dir in DOS):

   C_TEXT($In;$Out)
   LAUNCH EXTERNAL PROCESS("/bin/ls -l /Users";$In;$Out)

4. Um eine unabhängige "grafische" Anwendung zu starten, verwenden Sie besser den Systembefehl Öffnen. (In diesem Fall hat die Anweisung LAUNCH EXTERNAL PROCESS dieselbe Wirkung wie Doppelklick auf die Anwendung): 

   LAUNCH EXTERNAL PROCESS("open /Applications/Calculator.app")

Beispiele unter Windows

5. NotePad öffnen:

   LAUNCH EXTERNAL PROCESS ("C:\\WINDOWS\\notepad.exe")

6. Notepad und spezifisches Dokument öffnen:

   LAUNCH EXTERNAL PROCESS ("C:\\WINDOWS\\notepad.exe C:\\Docs\\new folder\\res.txt")

7. Microsoft® Word® Anwendung und ein bestimmtes Dokument öffnen (beachten Sie die Verwendung von zwei ""):

   $mydoc:="C:\\Program Files\\Microsoft Office\\Office10\\WINWORD.EXE \"C:\\
         Documents and Settings\\Mark\\Desktop\\MyDocs\\New folder\\test.xml\""
   LAUNCH EXTERNAL PROCESS($mydoc;$tIn;$tOut)

8. Ein Perl Skript ausführen (benötigt ActivePerl):

   C_TEXT($input;$output)
   SET ENVIRONMENT VARIABLE("myvariable";"value")
   LAUNCH EXTERNAL PROCESS ("D:\\Perl\\bin\\perl.exe D:\\Perl\\eg\\cgi\\env.pl";$input;$output)

9. Einen Befehl in einem spezifischen Verzeichnis und ohne Anzeigen der Konsole starten:

   SET ENVIRONMENT VARIABLE("_4D_OPTION_CURRENT_DIRECTORY";"C:\\4D_VCS")
   SET ENVIRONMENT VARIABLE("_4D_OPTION_HIDE_CONSOLE";"true")
   LAUNCH EXTERNAL PROCESS("meinBefehl")

10. Dem Benutzer ermöglichen, ein externes Dokument unter Windows zu öffnen:

   $docname:=Select document("";"*.*";"Wähle Datei zum Öffnen";0)
   If(OK=1)
      SET ENVIRONMENT VARIABLE("_4D_OPTION_HIDE_CONSOLE";"true")
      LAUNCH EXTERNAL PROCESS("cmd.exe /C start \"\" \""+Dokument+"\"")
   End if

Referenz

SET ENVIRONMENT VARIABLE.

Systemvariablen oder Mengen

Wurde der Befehl korrekt ausgeführt, wird die Systemvariable OK auf 1 gesetzt. Tritt ein Fehler auf, wie z.B. Datei nicht gefunden, Speicher reicht nicht aus, wird sie auf 0 (Null) gesetzt.

Anwendung des Befehls

4D Office Library, 4D System Tools, Accessing COM Objects within 4D, AppleScript, HTTP Client mit cURL, ICal, Launch External Process, Meetings


4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next