AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RenFile

Ein Thema von Willie1 · begonnen am 27. Jan 2009 · letzter Beitrag vom 28. Jan 2009
Antwort Antwort
Seite 2 von 2     12   
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: RenFile

  Alt 27. Jan 2009, 13:09
Zitat von Progman:
Warum wird nicht die Function RenameFile() genutzt? Die ist (mind.) ab Delphi6 in allen Delphi-Versionen vorhanden und geht auch unter Vista, bei vorhanden Schreibrechten)
Weil ihm das hier nicht viel bringen wird.
RenameFile ruft moveFile auf.
Laut msdn wird da mindestens Windows 2000 benötigt.
Quelle

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#12

Re: RenFile

  Alt 27. Jan 2009, 13:12
Vllt. fehlt dir ein Backslash:

if RenFile(Oldname, IncludeTrailingPathDelimiter(Bli.Folder) + Newname) then
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
656 Beiträge
 
Delphi 10.1 Berlin Starter
 
#13

Datei umben mit ShFileOperation schlägt unter Vista fehl

  Alt 27. Jan 2009, 18:40
Ich habe die Routine, wie folgt geändert:

Delphi-Quellcode:
  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}
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?

Willie
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: RenFile

  Alt 27. Jan 2009, 19:59
Der Thread hat ja immer noch den gleichen nicht aussgaekräftigen Titel, dabei habe ich selbst einen besseren vorgeschlagen. Bitte ändere das noch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Datei umben mit ShFileOperation schlägt unter Vista fehl

  Alt 27. Jan 2009, 21:11
Zitat von Willie1:

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?

Willie
Guten Abend Willie,

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
Klaus
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
656 Beiträge
 
Delphi 10.1 Berlin Starter
 
#16

Re: RenFile

  Alt 28. Jan 2009, 17:11
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:
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}
Hast du eine Idee...

Gruß Willie
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: RenFile

  Alt 28. Jan 2009, 21:04
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
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:34 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