Ich verwende den Befehl ShellExecute, um eine Exe-Datei auszuführen, die eine Eingabetextdatei erhält und eine Ausgabetextdatei zurückgibt. Ich habe es so geschrieben:
ShellExecute(mainFormHandle, 'open', 'Test.exe',
'input.txt output.txt', nil, sw_shownormal);
//Read the output file...
S_List.LoadFromFile('output.txt');
Writeln(S_List[0])
Ich stelle die Datei input.txt bereit, bevor ich diesen Befehl ausführe. Bei jedem Durchlauf meines Programms ändert sich die Eingabedatei und damit auch die Ausgabedatei.
Das Problem ist folgendes: Ich kann die Änderungen in der Ausgabedatei nicht sehen! Die in die Konsole geschriebene Zeile stammt von der vorherigen Datei, nicht von der neu geänderten. Ich meine, die Datei im Explorer ist geändert, aber die Datei, die ich lese, ist immer noch die alte Datei.
Es scheint ein wenig seltsam, aber ich frage mich, ob es eine Möglichkeit gibt, die Ausgabedatei zu aktualisieren, bevor sie gelesen wird? Oder übersehe ich hier etwas?
Vielen Dank im Voraus.