Am 18.01.2011 10:05, schrieb Andreas Schneider:
On Mon, 17 Jan 2011 23:52:58 +0100, Bo Berglund wrote:
So far so good, but when I read the help on TProcess it says that this
property applies only to Windows. So what happens on Linux?
Will the console show up on screen then?
Or is it automatically hidden in Linux?

There is nothing to hide on *nix. STDOUT is available for all processes
and if that gets used by any tty is another matter. Want a console? Run
the tool inside a console. Don't want one? Don't run it inside a console.

TProcess may start a console window application (e.g. XTerm though). This can be suppressed using poNoConsole.

It's (afaik) only Windows (or PE for that matter) that has this (kinda)
stupid flag to distinguish between a console app and a GUI app.

Just as side node: even Microsoft has to work around this design
decision for VisualStudio (and maybe other tools) that should behave
differently if run from commandline or from GUI. Because in the first
case they should only output to the cmd and not show any window and in
the latter case they should show a window and not use stdout.

An application that is compiled as CUI application can use a GUI without problem (I'm sometimes simply adding {$apptype console} to ease debugging). The real difference only appears if you run in a console (e.g. cmd) or in a fullscreen console only environment (on Windows servers): In the first case if you run a GUI compiled application in cmd the shell won't wait till the process terminates while it will wait for one compiled as CUI. In the second case you'll either get an error message if you start a GUI application or the system will switch to GUI mode (this is implemented in ReactOS for example).

Regards,
Sven

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to