![]() |
Problem mit DoFileWork() aus CodeLibrary
Hallo allerseits,
ich hab aus der CodeLibrary ![]()
Code:
Die ersten beiden Fehler beziehen sich auf PAnsiChar(), der letzte auf den SHFileOperationA-Aufruf.
E2010 Inkompatible Typen: 'AnsiChar' und 'Char'
E2010 Inkompatible Typen: 'AnsiChar' und 'Char' E2010 Inkompatible Typen: '_SHFILEOPSTRUCTA' und '_SHFILEOPSTRUCTW' Ich hab echt keine Ahnung wieso das nicht [mehr?] funktioniert ... Wäre schön, wenn ihr mir helfen könntet. :) mfg, mh166 |
Re: Problem mit DoFileWork() aus CodeLibrary
Glaskugel auspack: Probierst du es mit Delphi 2009?
Ändere
Delphi-Quellcode:
mal auf
SHFileOpStruct: TSHFileOpStruct;
Delphi-Quellcode:
oder
SHFileOpStruct: TSHFileOpStructA;
Delphi-Quellcode:
function DoFileWork(aOperation: FILEOP_FLAGS; aFrom, aTo: String;
Flags: FILEOP_FLAGS): Integer; var FromPath, ToPath: AnsiString; SHFileOpStruct: TSHFileOpStruct; begin FromPath := aFrom + #0#0; ToPath := aTo + #0#0; with SHFileOpStruct do begin Wnd := 0; wFunc := aOperation; pFrom := PChar(FromPath); if ToPath <> '' then begin pTo := PChar(ToPath) end else begin // target available pTo := nil; end; // target not available fFlags := Flags; end; // structure Result := SHFileOperation(SHFileOpStruct); end; |
Re: Problem mit DoFileWork() aus CodeLibrary
In deinem Profil steht Delphi 6, mit Delphi 5 funktioniert es.
|
Re: Problem mit DoFileWork() aus CodeLibrary
|
Re: Problem mit DoFileWork() aus CodeLibrary
Zitat:
@Reinhardtinho: Ich glaub ich muss mein Profil mal aktualisieren. 8) Hat sich halt einiges verändert seit dem man auf Arbeit was programmieren muss. @mirage228: Auch ne Idee. Allerdings brauch ich die Funktion eh nur mal kurz. Aber danke für den Hinweis, kann ich bestimmt mal gebrauchen. :) Danke euch allen. mfg, mh166 |
AW: Re: Problem mit DoFileWork() aus CodeLibrary
Zitat:
![]() |
AW: Problem mit DoFileWork() aus CodeLibrary
So wäre es aber Ansi ... ich würde es eher andersrum ändern.
ab D2009 Unicode (davor ANSI):
Delphi-Quellcode:
immer ANSI:
function DoFileWork(aOperation: FILEOP_FLAGS; aFrom, aTo: String;
Flags: FILEOP_FLAGS): Integer; var SHFileOpStruct: TSHFileOpStruct; begin with SHFileOpStruct do begin Wnd := 0; wFunc := aOperation; pFrom := PChar(aFrom + #0); if aTo <> '' then pTo := PChar(aTo + #0) else pTo := nil; fFlags := Flags; end; Result := SHFileOperation(SHFileOpStruct); end;
Delphi-Quellcode:
function DoFileWork(aOperation: FILEOP_FLAGS; aFrom, aTo: AnsiString;
Flags: FILEOP_FLAGS): Integer; var SHFileOpStruct: TSHFileOpStructA; begin with SHFileOpStruct do begin Wnd := 0; wFunc := aOperation; pFrom := PAnsiChar(aFrom + #0); if aTo <> '' then pTo := PAnsiChar(aTo + #0) else pTo := nil; fFlags := Flags; end; Result := SHFileOperationA(SHFileOpStruct); end; |
AW: Problem mit DoFileWork() aus CodeLibrary
Die von mir erstellte und hier verlinkte Wrapper-Unit für SHFileOperation sollte ohne weitere Änderungen Delphi 2009 und 2010-kompatibel sein...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz