AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Problem mit DoFileWork() aus CodeLibrary
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit DoFileWork() aus CodeLibrary

Ein Thema von mh166 · begonnen am 24. Apr 2009 · letzter Beitrag vom 20. Jul 2010
Antwort Antwort
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Problem mit DoFileWork() aus CodeLibrary

  Alt 24. Apr 2009, 14:31
Hallo allerseits,

ich hab aus der CodeLibrary diesen Tipp genommen und wollte das in mein Projekt einbauen. Allerdings bricht Delphi beim compilieren immer mit dem Fehler ab:
Code:
E2010 Inkompatible Typen: 'AnsiChar' und 'Char'
E2010 Inkompatible Typen: 'AnsiChar' und 'Char'
E2010 Inkompatible Typen: '_SHFILEOPSTRUCTA' und '_SHFILEOPSTRUCTW'
Die ersten beiden Fehler beziehen sich auf PAnsiChar(), der letzte auf den SHFileOperationA-Aufruf.

Ich hab echt keine Ahnung wieso das nicht [mehr?] funktioniert ... Wäre schön, wenn ihr mir helfen könntet.

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Problem mit DoFileWork() aus CodeLibrary

  Alt 24. Apr 2009, 14:36
Glaskugel auspack: Probierst du es mit Delphi 2009?

Ändere
  SHFileOpStruct: TSHFileOpStruct; mal auf
  SHFileOpStruct: TSHFileOpStructA; oder

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;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Problem mit DoFileWork() aus CodeLibrary

  Alt 24. Apr 2009, 14:38
In deinem Profil steht Delphi 6, mit Delphi 5 funktioniert es.
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Problem mit DoFileWork() aus CodeLibrary

  Alt 24. Apr 2009, 14:39
Oder Du nimmst meine Wrapper-Unit für SHFileOperation aus der Code-Library

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: Problem mit DoFileWork() aus CodeLibrary

  Alt 24. Apr 2009, 15:37
Zitat von Bernhard Geyer:
Glaskugel auspack: Probierst du es mit Delphi 2009?
Ich glaub so eine brauch ich auch mal. Guter Treffer!

@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
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
nytaiceman

Registriert seit: 15. Dez 2005
Ort: Schweiz, Bern
58 Beiträge
 
Delphi XE3 Professional
 
#6

AW: Re: Problem mit DoFileWork() aus CodeLibrary

  Alt 20. Jul 2010, 13:28
Glaskugel auspack: Probierst du es mit Delphi 2009?

Ändere
  SHFileOpStruct: TSHFileOpStruct; mal auf
  SHFileOpStruct: TSHFileOpStructA;
Könnte jemand das Codebeispiel in der Library bitte entsprechend anpassen? Vielen herzlichen Dank für eure Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#7

AW: Problem mit DoFileWork() aus CodeLibrary

  Alt 20. Jul 2010, 15:06
So wäre es aber Ansi ... ich würde es eher andersrum ändern.

ab D2009 Unicode (davor ANSI):
Delphi-Quellcode:
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;
immer ANSI:
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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Jul 2010 um 15:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

AW: Problem mit DoFileWork() aus CodeLibrary

  Alt 20. Jul 2010, 15:20
Die von mir erstellte und hier verlinkte Wrapper-Unit für SHFileOperation sollte ohne weitere Änderungen Delphi 2009 und 2010-kompatibel sein...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 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