Hallo,
ich rufe mit Shellexecute ein externes Programm aus, dem ich einige Parameter mit auf den Weg geben möchte.
Die Parameter stammen aus einer Textdatei, werden vorher ausgelesen und dann beim Programmaufruf mitgegeben.
Hier geht es nicht um den Shellexecute-Befehl, sondern ausschließlich um das Variablen-Problem!
Der Aufruf klappt, lediglich die Auflösung der Variablen macht Probleme.
Beispiel:
C:\Programmordner\programm.exe -Pfad1 c:\Pfad1 -Pfad2 c:\Pfad2
Hinter den Aufrufparameter -Pfad1 steht der eigentliche Pfad usw...
Soweit alles OK.
Ich habe jetzt eine STRING-Variable namens Aufrufparameter im Delphi-Programm definiert.
In der Text-Datei steht lediglich: '-Pfad1 c:\Pfad1 -Pfad2 c:\Pfad2'
Dies weise ich der Variablen Aufrufparameter zu.
Mein Programmaufruf lautet nun:
C:\Programmordner\programm.exe Aufrufparameter
Das klappt auch, da die Parameter ja "hartverdrahtet" sind.
Nun möchte ich in der Textdatei Programm-interne Variablennamen für die Pfadangaben verwenden.
Ich lege 2 String-Variablen Pfad1 + Pfad2 an. Diesen Variablen weise ich die echten Pfade
zu: Pfad1:='c:\Pfad1' und Pfad2:='c:\Pfad2'
In die Textdatei schreibe ich nun '-Pfad1 ' + Pfad1 + '-Pfad2 ' + Pfad2
Nun wird im Programm der gesamte Ausdruck der Variablen Aufrufparameter zugewiesen.
Führe ich nun
C:\Programmordner\programm.exe Aufrufparameter
aus, stimmen die Aufrufparameter betreffend Pfad1 und Pfad2 nicht, die ja in der Aufrufparameter-Variablen als Variablen
Pfad1 und Pfad2 enthalten sind.
Hoffe, mich einigermaßen verständlich ausgedrückt zu haben...
Kennt jemand eine Lösung für dieses Problem?
Viele Grüße
Tortom