Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem mit der SHFileOperation (https://www.delphipraxis.net/159402-problem-mit-der-shfileoperation.html)

Jamah 26. Mär 2011 15:54

Delphi-Version: XE

Problem mit der SHFileOperation
 
Hi.
Kleines Problem.
Ich habe hier nach Suche im Board das gefundenm und verwende es:
Delphi-Quellcode:
function CopyDir(const fromDir, toDir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_COPY;
    fFlags := FOF_FILESONLY;
    pFrom := PChar(fromDir + #0);
    pTo := PChar(toDir)
  end;
  Result := (0 = ShFileOperation(fos));
end;
Problem: Wenn ich von Desktop oder sowas Kopiere, gehts.
Aber wenn ich in ein anderes Luafwerk Kopieren will, gehts nicht. Woran könnte das liegen?

alfold 26. Mär 2011 17:05

AW: Problem mit der SHFileOperation
 
Hi, las Dir mal toDir anzeigen ob auch alles richtig drin steht.
Dann habe ich bei PChar(toDir + #0) noch mit angefügt.
Bei Win7 kann es sein das Du keinen Rechte dafür hast?

Ansonsten wüsste ich auch nicht weiter:gruebel:
alfold

himitsu 27. Mär 2011 03:19

AW: Problem mit der SHFileOperation
 
Man könnte ja mal schauen was im MSDN (MSDN-Library durchsuchenShFileOperation) zur Fehlerbehandlung gesagt wird und welche Fehlercodes es gibt.

> und schon hätte man den Grund, warum es nicht geht.

Und ja, das eine
Delphi-Quellcode:
+ #0
fehlt noch, denn pFrom und pTo geben StringListen an.
> die Einträge jeweils durch #0 getrennt
> und das Ende der Liste mit #0#0

Da ein String schon ein implizites #0 am Ende besitzt, wird über +#0 das abschließende #0#0 erzeugt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz