Wenn du dein Konsolenprogramm in zwei Teile splitten würdest könnst du den Teil der die eigentliche Arbeit verrichtet auch in der Anwendung mit der
GUI einbinden.
Das ist einfacher und sicherer als von der
GUI-Anwendung auf die Konsolenanwendung zuzugreifen.
Dazu benötigst du eine Klasse in einer eigenen
Unit die von beiden Programmen mit
uses
eingebunden wird.
Dieser Klasse wird über Properties alle Informationen eingespeist und dann eine "DoWork"-Methode aufgerufen.
Falls während dieser Arbeit eine Rückmeldung erforderlich sein sollte, dann lässt sich dies über ein Event bewerkstelligen.
Man braucht dann in der Konsolenanwendung noch eine weitere Klasse die das Event empfängt und die Info per
writeln
an die Konsole ausgibt, aber das ist halb so schlimm wie es sich anhört.