reset a3, kut Charlie ;)
[tt2015.git] / a3 / code / Gast / launch.icl
diff --git a/a3/code/Gast/launch.icl b/a3/code/Gast/launch.icl
new file mode 100644 (file)
index 0000000..c06c3fd
--- /dev/null
@@ -0,0 +1,29 @@
+implementation module launch\r
+\r
+import StdEnv\r
+import /*StdIO,*/ostoolbox, clCCall_12\r
+\r
+//Start = launch (applicationpath "hello.exe") 42\r
+/*Start\r
+       # (ok1,exit1,tb)        = launch exe (toGIF "test") 42\r
+       # (ok2,exit2,tb)        = launch exe (toMAP "test") tb\r
+       = (ok1 && ok2, (exit1,exit2),tb)*/\r
+//Start = launch exe arg 42\r
+\r
+/*\r
+exe                    = "C:\\Program Files\\ATT\\Graphviz\\bin\\dot.exe"\r
+toGIF dot      = "-Tgif -o "   +++ dot +++ ".gif " +++ dot +++ ".dot"\r
+toMAP dot      = "-Tcmapx -o " +++ dot +++ ".map " +++ dot +++ ".dot"\r
+\r
+exe                    = "D:\\Peter\\Projecten\\SpecificationVerification\\LaunchExternalApplication\\showCmndlineArgs.exe"\r
+arg                    = "one two three four"\r
+*/\r
+\r
+launch :: !PathAndApplication !CommandlineArgs !*World -> (!Bool,!Int,!*World)\r
+launch command cmndline world\r
+       # (tb,world)                    = worldGetToolbox world\r
+       # (commandptr,tb)               = winMakeCString (command+++" "+++cmndline) tb\r
+       # (success,exitcode,tb) = winCallProcess commandptr 0 0 0 0 0 tb\r
+       # tb                                    = winReleaseCString commandptr tb\r
+       # world                                 = worldSetToolbox tb world\r
+       = (success,exitcode,world)\r