Entwickler-Ecke

Dateizugriff - 'Das System kann die angegebene Datei nicht finden'


MageMage - So 26.11.17 12:44
Titel: 'Das System kann die angegebene Datei nicht finden'
Ich habe ein Delphi Programm geschrieben, wobei einmal der Dateipfad ausgewählt wird und im Folgenden, soll Diese Datei mithilfe des Pfades ausgelesen und gespeichtert werden:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
begin
  OpenDialog1.Execute;
  Memo1.Lines := OpenDialog1.Files;
  dataFrom := TStringList.Create;
  dataFrom.LoadFromFile('' + openDialog1.ToString + '');
  ChangePic(dataFrom);
  dataFrom.Free;
end;

Allerdings wenn ich eine Datei einlese kommt die Fehlermeldung 'Das System kann die angegebene Datei nicht finden' obwohl die Datei vorhanden ist und bei Anhalten an dieser Stelle markiert er mir die Zeile mit ChangePic (eine andere procedure).
Ich würde gerne wissen wie ich dieses Problem lösen kann, dass das Programm weiterhin erfolgreich ausgeführt wird und die Fehlermeldung nicht erscheint.

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Sinspin - So 26.11.17 13:00

Hallo und :welcome: in der EE!

Mein erster Vorschlag ist mehr Sicherheit und Ressourcen Schutz.
Zudem verbessert dies auch die Übersichtlichkeit.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
begin
  if OpenDialog1.Execute then
  begin
    Memo1.Lines := OpenDialog1.Files;
    dataFrom := TStringList.Create;
    try
      dataFrom.LoadFromFile('' + openDialog1.ToString + '');
      ChangePic(dataFrom);
    finally
      dataFrom.Free;
    end;
  end;
end;


Desweiteren wäre es schön zu wissen was in ChangePic passiert. Denn wie es scheint ist dort ja der Fehler und nicht beim Laden der Datei in eine Stringliste.


Holgerx - So 26.11.17 15:33

Hmm..

könnte es daran liegen, das

openDialog1.ToString <> openDialog1.Filename

ist? ;)

Mach mal

dataFrom.LoadFromFile(openDialog1.Filename);


Delete - So 26.11.17 16:38

- Nachträglich durch die Entwickler-Ecke gelöscht -