Hi!
Ja ich habe ein Problem bei Dateienkopieren mit Shellfileoperation.
Mein Programm sagt mir immer: "Datei kann nicht kopiert werden: Die Quelldatei oder vom Quelldatenträger kann nicht gelesen werden."
Also mein Code zum kopieren sieht so aus:
Delphi-Quellcode:
procedure ShellFileOperation(fromFile: string; toFile: string; Flags: Integer);
var
shellinfo: TSHFileOpStructA;
begin
with shellinfo do
begin
wnd := Application.Handle;
wFunc := Flags;
fFlags := FOF_NOCONFIRMATION;
pFrom := PChar(fromFile);
pTo := PChar(toFile);
end;
SHFileOperation(shellinfo);
end;
Und mein Code vom Button der die Aktion auslöst sieht so aus.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var s: string;
var Ini: TIniFile;
begin
try
Ini:=TIniFile.Create(GetCurrentDir+'\Pfad.ini');
Ini.WriteString('Section','FIFA Pfad',Label1.Caption);
finally
Ini.Free;
end;
begin
if RadioButton1.Checked then
begin
ShellFileOperation(GetCurrentDir+'\ORG_Daten\fifa.db', Label1.Caption+'\data\cmn', FO_COPY);
ShellFileOperation(GetCurrentDir+'\ORG_Daten\ger.db', Label1.Caption+'\data\cmn\fe', FO_COPY);
end;
if RadioButton2.Checked then
begin
ShellFileOperation(GetCurrentDir+'\WSL_Daten\fifa.db', Label1.Caption+'\data\cmn', FO_COPY);
ShellFileOperation(GetCurrentDir+'\WSL_Daten\ger.db', Label1.Caption+'\data\cmn\fe', FO_COPY);
end;
end;
end;
Das seltsame an dem Problem ist, dass es nur manchaml geht.
Manchmal macht er auch nur bei einem File Probleme.
Die Ordner WSL_Daten und ORG_Daten existieren auch in meinem Areitsverzeichnis und die Dateien dortdrin auch.
Deswegen verstehe ich das Problem nicht so recht.
Wäre über Hilfestellungen sehr dankbar=)
LG
David Geis