ich sehe malwieder den Wald vor lauter Bäumen nicht.
Es geht um eine Anwendung die ich vor gefühlten 10000 Jahren Entwickelt habe. Mit dieser Anwendung kann man Dateien Archivieren (ganz einfache sache)
Nun funktioniert das auch alles
nur eben nicht immer
in 10 % aller Fälle wird die Datei nicht wegkoppiert.
Also User wählt die Datei x aus und sagt hinzufügen. Und schon macht die Software eine Kopie in seinen Ordner und verwart diese
Joar nur da kommt die Datei nie an

dummerweise weiß ich garnicht wo ich noch schauen soll und wie ich Die Software zuverlässiger bekomme
hat jemand eine Idee?
Code: Alles auswählen
procedure TfmMain.btnEinzelDateiHinzuClick(Sender: TObject);
var
FilenamePfad : String;
Filename : String;
FilenameNeu : String;
FileExT : String;
begin
if (dsDateienBaum.DataSet.FieldByName('ID').AsString <> '') then begin
if (OpenDialogFile.Execute) then begin
FilenamePfad := OpenDialogFile.FileName;
Filename := ExtractFileName(FilenamePfad);
FileExT := ExtractFileExt(FilenamePfad);
if (LnSQL('ID','SELECT MAX(ID)+1 as ID FROM DBDateien') = '') then begin
FilenameNeu := '0';
end else begin
FileNameNeu := LnSQL('ID','SELECT MAX(ID)+1 as ID FROM DBDateien');
end;
FilenameNeu := FilenameNeu + FileExT;
CopyFile(PAnsiChar(FilenamePfad), PAnsiChar('C:\Lazarus-Projekte\myIdent\Dateien\'+FilenameNeu), False);
SQL('Insert Into DBDateien (FilenName, Pfad,FK_DateiBaum) VALUES ("'+FileName+'", "C:\Lazarus-Projekte\myIdent\Dateien\'+FilenameNeu+'","'+dsDateienBaum.DataSet.FieldByName('ID').AsString+'")');
end;
end;
dsDateien.DataSet.Refresh;
end;