Hallo,
meiner Anwendung sollen beim Programmaufruf Dateinamen übergeben werden. Diese werden in der Anwendung mit ParamStr() weiterverarbeitet. Probleme habe ich nun wenn ein Dateiname Umlaute enthält.
Erfolgt der Aufruf über Start -> Ausführen -> Öffnen bzw über die Console kommen die Parameter richtig an.
Beim Ausführen einer Batchdatei (was der Normalfall sein soll) wird der Parameter falsch übermittelt. Eine Konvertierung mit OemToAnsi() oder OemToChar() bringt keinen Erfolg.
Das ist der Source für den Test:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
if ParamCount > 0
then begin
Edit1.Text := ParamStr(1);
Edit2.Font.Charset := OEM_CHARSET;
Edit2.Text := ParamStr(1);
end;
end;