WinAPI ile Dosya Kopyalama Sorunu
Dosya kopyalamak icin asagidaki fonksiyonu kullaniyorum:
function SHCopyFile(hWndOwner: HWND; const SourceFile, TargetFile: string): Boolean;
var Info: TSHFileOpStruct;
Aborted: Bool;
begin
Result := True;
Aborted := False;
with Info do
begin
Wnd := hWndOwner;
wFunc := FO_COPY;
pFrom := pChar(SourceFile);
pTo := pChar(TargetFile);
fFlags := 0;
fAnyOperationsAborted := Aborted;
end;
try
Result := (SHFileOperation(Info) = 0);
finally
if Aborted then //
end;
end;
Ornek Kullanim:
SHCopyFile(Handle, 'C:\Kaynak\*.*', 'C:\Hedef\');
Bu kodu isletim sistemi WinXP Pro olan kendi bilgisayarimda calistirdigimda herhangi bir sorun yok; ama yine XP Pro kullanan baska bir bilgisayarda calistirmayi deneyince 'Kaynak dosya veya diskten okuyamiyor.' seklinde bir hata mesaji aliyorum.
Kod yazarak gecirdigim koca bir gunun ardindan, saglam oldugunu dusundugum icin arkama yaslanip gozukapali kullandigim bu API temelli dosya kopyalama rutini basima is acti. Cozum onerisi olan var mi?
|