![]() |
Re: RenFile
Zitat:
RenameFile ruft moveFile auf. Laut msdn wird da mindestens Windows 2000 benötigt. ![]() Grüße Klaus |
Re: RenFile
Vllt. fehlt dir ein Backslash:
Delphi-Quellcode:
if RenFile(Oldname, IncludeTrailingPathDelimiter(Bli.Folder) + Newname) then
|
Datei umben mit ShFileOperation schlägt unter Vista fehl
Ich habe die Routine, wie folgt geändert:
Delphi-Quellcode:
Jetzt tritt bei Vista dieselbe Zugriffsverletzung an einer anderen Stelle auf. Bei W98 ist alles ok, muss hier wirklich zwischen >W98 und <=W98 unterschieden werden, wie ist es mit ME?
function RenFile(const Oldname,Newname: string): Boolean;
var SHFOS: TSHFileOpStruct; o,n: string; begin if FileExists(Oldname) then begin o:=Oldname + #0#0; n:=Newname + #0#0; with SHFOS do begin Wnd:=0; wFunc:=FO_RENAME; pFrom:=PChar(o); pTo:=PChar(n); fFlags:=FOF_SIMPLEPROGRESS; fAnyOperationsAborted:=false; hNameMappings:=nil; end; Result:=(ShFileOperation(SHFOS) = 0) and not SHFOS.fAnyOperationsAborted and FileExists(NewName) end else Result:=false end; {RenFile} Willie |
Re: RenFile
Der Thread hat ja immer noch den gleichen nicht aussgaekräftigen Titel, dabei habe ich selbst einen besseren vorgeschlagen. Bitte ändere das noch.
|
Re: Datei umben mit ShFileOperation schlägt unter Vista fehl
Zitat:
kompilierst Du unter win98 und läßt das Programm auf Vista laufen? Wenn ich Deine Routine unter XP kompiliere und laufen lassen, wirft sie keine Fehlermeldung. Ich habe kein Win98 und kein Vista um diese Kombination zu testen. Grüße Klaus |
Re: RenFile
Hallo Klaus,
ich sehe, du bist online. Ja ich kompiliere wegen einer bestimmten Bibliothek (GDIAPI) mit D6 auf W98 und lasse es mit W98 und Vista laufen. Das Programm ist nicht neu, der Fehler wäre mir bestimmt früher aufgefallen!!! Ich habe es gestern Abend nochmal ausprobiert, mal gibt es die Zugriffsverletztung dann wieder nicht. Die genaue Absturzstelle kenne ich nicht, weil der Fehler bei D6 u. W98 nicht auftritt. Hier noch einmal die Routine (sie ist ja weiß Gott nicht besonders). Ich benutze sie so oft, dass ich glaubte, sie gehörte zu Delphi :
Delphi-Quellcode:
Hast du eine Idee...
function RenFile(const Oldname,Newname: string): Boolean;
var SHFOS: TSHFileOpStruct; o,n: string; begin if FileExists(Oldname) then begin o:=Oldname + #0#0; n:=Newname + #0#0; with SHFOS do begin Wnd:=0; wFunc:=FO_RENAME; pFrom:=PChar(o); pTo:=PChar(n); fFlags:=FOF_SIMPLEPROGRESS; fAnyOperationsAborted:=false; hNameMappings:=nil; end; Result:=(ShFileOperation(SHFOS) = 0) and not SHFOS.fAnyOperationsAborted and FileExists(NewName) end else Result:=false end; {RenFile} Gruß Willie |
Re: RenFile
Guten Abend Willie,
nein, eine Idee habe ich nicht mehr. Merkwürdig finde ich es, dass das Problem nur manchmal in Erscheinung tritt. Ein bestimmtes Muster hast Du nicht feststellen können? Warum, hast Du dann das RenFile in Verdacht? Kannst Du das ganze auch auf Vista kompilieren (D6 sollte auch auf Vista laufen)? Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 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 by Thomas Breitkreuz