Hallo Allerseits,
ich habe Probleme bei der Übergabe von Parametern, die man dem aufzurufenden Programm mit gibt.
Der eigentliche Aufruf des Programms über
ShellExecute
ist klar:
ShellExecute(Handle, 'open', PChar(DateiName), PChar(Parameter), PChar(VerzeichnisPfad), SW_SHOWNORMAL);
Probleme machen hier die Parameter.
Die da lauten
'-h hostname -u username -ppasswort -e "SELECT * FROM datenbank.tabelle" > ausgabe.txt'.
Ziel ist es aus Delphi heraus ein
MySQL-Kommando auf der Kommandozeile auszuführen.
Wenn ich das Kommando mit
mysql.exe -h hostname -u username -ppasswort -e "SELECT * FROM datenbank.tabelle" > ausgabe.txt direkt aus der cmd-Shell heraus aufrufe, funktiniert alles prima.
Wenn ich die Umleitung in die Datei weglasse (also > ausgabe.txt), funktioniert dies auch aus Delphi heraus.
Das Problem muss also im hinteren Teil des Parameterstrings liegen.
Wahrscheinlich kommt
ShellExecute
nicht mit den Leerzeichen, oder dem "größer als-Zeichen" nach den hinteren doppelten Anführungsstrichen (") klar.
Kann jemand helfen?