bin auf ein irgendwie seltsames Problem gestoßen, was aber total lästig ist weil viele Kontrollen nicht klappen und zwar liefert mir FileExists nicht die korrekte Information, "FileUtils" sind in uses eingetragen

Code: Alles auswählen
if seldirdlg.Execute then //Ordner für Pfad wird ausgewählt
dbfPfad:=ExtractFilePath(seldirdlg.FileName); //DB-Pfad extrahieren und aktualisieren
ShowMessage('Pfad: '+dbfPfad);
//Wenn im gewählten Verzeichnis eine BKP-Datei existiert...
if FileExists(dbfPfad+'archiv.dbf') then begin
ShowMessage('Datenbankdatei: '+dbfPfad+'archiv.dbf'); //hier wird der korrekte Pfad+Datei angezeigt
//...fragen, ob diese restauriert werden soll
case MessageDlg('Datenbankdatei gefunden','Soll die vorhandene Datenbankdatei '+
'überschrieben werden?',mtInformation,[mbYes,mbNo],0) of
mrYes: begin //rekonstruieren
CopyFile(dbfPfad+'archiv.dbf',dbfPfad+'archiv.dbf.bkp');
CopyFile(dbfPfad+'archiv.mdx',dbfPfad+'archiv.mdx.bkp');
CreateDBF; //Datenbank neu erstellen
end;
mrNo: Abort;
end; //of case
end else begin
if FileExists(String(dbfPfad)+'archiv.dbf.bkp') then begin //String(dbfPfad) versuchsweise probiert, klappt auch nicht
//...fragen, ob diese restauriert werden soll
case MessageDlg('Sicherungsdatei gefunden','Sicherungsdatei gefunden. '+
'Soll diese rekonstruiert und verwendet werden?',mtInformation,
[mbYes,mbNo],0) of
mrYes: begin //rekonstruieren
CopyFile(dbfPfad+'archiv.dbf.bkp',dbfPfad+'archiv.dbf');
CopyFile(dbfPfad+'archiv.mdx.bkp',dbfPfad+'archiv.mdx');
end;
mrNo: FrmMain.CreateDBF; //Datenbank neu erstellen
end; //of case
//hier sollte CreateDBF stehen, würde mir aber zum aktuellen Zeitpunkt gnadenlos meine existierende Datenbank löschen
end else ShowMessage('Weder "archiv.dbf" noch "archiv.dbf.bkp" gefunden');
end;