Mal ganz generell gesprochen: Ja, man kann von einem Programm aus eine andere EXE erstellen.
Schließlich macht die Delphi EXE ja nichts anderes als (früher oder später) eine neue EXE mit beliebigem Inhalt zu erstellen.
Üblicherweise braucht man dazu einen Compiler.
Bei den neueren Sprachen die auf Intermediate Code basieren (.NET) lässt sich das ganze etwas einfacher erlediglen, da diese oft direkt Intermediate Code ausgeben können (Reflection.Emit()).
Was hier im Forum vorgestellt wurde erinnert eher an einen Interpreter: eine vorgefertigte EXE wird eigentlich nicht verändert, aber die Aufgaben werden in einem zu interpretierenden Teil (Config-File, Daten am Ende der EXE) abgelegt.
Ich würde auch sagen, dass ein Interpreter zunächst einfacher und schneller zu programmieren ist. Das kommt aber auf die Mächtigkeit an. Wenn viele unterschiedliche Aufgaben erledigt werden sollen wird es irgendwann kompliziert. Viele Sachen lassen sich auch irgendwann nicht mehr sinnvoll als Daten beschreiben.
Das ist dann der Punkt an dem man sich eine Grammatik definiert und einen Compiler baut.
Borland hat einige ältere Versionen der Pascal Compiler online gestellt:
Liste frei verfügbarer Compiler. Das bedeutet: Dein Programm könnte den Compiler als Resource mitbringen und müsste dann "nur" noch in der Lage sein, gültigen Pascal-Code zu erzeugen. Dann kannst Du jede belibige EXE erzeugen.
Ich sage nicht, dass das einfach ist
, aber die Möglichkeit besteht jedenfalls.
Gruß, Thomas
Thomas W.