Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   D2010, SHFileOperation, FO_DELETE -> Fehler 1026 (https://www.delphipraxis.net/153724-d2010-shfileoperation-fo_delete-fehler-1026-a.html)

hoika 13. Aug 2010 16:23

D2010, SHFileOperation, FO_DELETE -> Fehler 1026
 
Hallo,

die folgende Funktion liefert mir Fehler 1026.
Das muss irgendwas mit #0 zu tun haben.

Aber das ist doch alles richtig, oder ?


Delphi-Quellcode:
Function DelTree(DirName : string; var theErrorNo: Integer): Boolean;
var
  SHFileOpStruct : TSHFileOpStruct;
begin
  try
   Fillchar(SHFileOpStruct,Sizeof(SHFileOpStruct),0) ;
   with SHFileOpStruct do begin
    Wnd := 0;
    pFrom := PChar(DirName+#0); // PChar liefert eine #0, wir brauchen 2
    wFunc := FO_DELETE;
    fFlags := FOF_NOCONFIRMATION or FOF_SILENT;
   end;
    theErrorNo := SHFileOperation(SHFileOpStruct);
    Result:= theErrorNo=0;
   except
    Result := False;
  end;
end;

Heiko

p80286 13. Aug 2010 16:40

AW: D2010, SHFileOperation, FO_DELETE -> Fehler 1026
 
Versuch es mal mit
Delphi-Quellcode:
pFrom := PChar(DirName+#0+#0)
Gruß
K-H

Luckie 13. Aug 2010 16:41

AW: D2010, SHFileOperation, FO_DELETE -> Fehler 1026
 
dann lass dir doch mal mit SysErrorMessage die Fehlermeldung im Klartext ausgeben oder guck in den Headerdateien nach was er bedeutet.

himitsu 13. Aug 2010 16:56

AW: D2010, SHFileOperation, FO_DELETE -> Fehler 1026
 
Dort gibt's kein 1026
http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx

das mit der #0 ist eigentlich OK
- eine #0 im String
- und nocheine #0 vom PChar
= #0#0

bei mir funktioniert es mit der #0 ohne Probleme, also vermute ich den Fehler wo anders

google
http://learnbyexamples.org/cc/visual...-1026-why.html
http://www.bigresource.com/VB-Error-...BG97yXFgz.html

Zitat:

It seems that 1026 really means “something went wrong”
Zitat:

As it stands, if you try and delete a file that doesn't exist, you get a dialog box that says "Cannot delete file: File system error (1026)" and myResult is 1026
Prüfe mal dein Dateisystem.

hoika 16. Aug 2010 07:05

AW: D2010, SHFileOperation, FO_DELETE -> Fehler 1026
 
Hallo,

neue Woche, neuer Versuch.

Den Fehler-Code gibt es (common error oder so ), warum er im obigen Link fehlt,
weiss ich nicht. Bei SHFileOperation bzw. dem Link darauf gibt es ihn.
Dateiystem ist OK, ich kann das Verzeichnis ja von Hand löschen.

Noch zum Hintergrund:
Es ist ein Tool zur Entfernung von Interbase (IBToFB).
Gelöscht wird das Interbase-Verzeichnis, nachdem der Server beendet wurde.

Ich teste jetzt mal:
- Löschen eines anderen Verzeichnisses
- SHFileOperationA


Das Betriebssystem ist Windows2000,
IB liegt nicht im Programme-Verzeichnis.
Mit Rechten kann es also nichts zu tun haben.


Heiko

Dezipaitor 16. Aug 2010 08:57

AW: D2010, SHFileOperation, FO_DELETE -> Fehler 1026
 
Zitat:

Zitat von hoika (Beitrag 1042449)
Das Betriebssystem ist Windows2000,
IB liegt nicht im Programme-Verzeichnis.
Mit Rechten kann es also nichts zu tun haben.

Man kann Rechte für beliebige Verzeichnisse setzen. Das es nicht das Programme-Verzeichnis ist, ist keine Bedingung dafür, dass es mit Rechten nichts zu tun hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:57 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