AGB  ·  Datenschutz  ·  Impressum  







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

CopyFile gibt Datei nicht frei?

Ein Thema von DGL-luke · begonnen am 8. Dez 2006 · letzter Beitrag vom 10. Dez 2006
 
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

CopyFile gibt Datei nicht frei?

  Alt 8. Dez 2006, 22:32


Ich fordere über das Windows-Message-System von meiner Serverapplikation eine Datei an. Die Serverapplikation fertigt eine Kopie dieser Datei mit CopyFile an und schickt mir den Pfad dieser Datei wiederum übers Messaging-System. Ich öffne diese Datei per TStringlist.LoadFromFile - und was müssen meine brechenden Augen sehen?
Zitat:
Erste Gelegenheit für Exception bei $7C81EB33. Exception-Klasse EFOpenError mit Meldung 'Datei D:\Eigene Dateien von Superuser\tut_nichts_zur_sache\published\log0.log. txt kann nicht geöffnet werden. Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird'. Prozess Core.exe (1676)
Sollte die Datei nicht wieder frei sein, wenn CopyFile zurückkehrt? Was man hier sieht, spricht fürs gegenteil:

Delphi-Quellcode:
 
//generate filenames
      old := BaseDir + IncludeTrailingPathDelimiter(LOGDIR) + Logs[LogIdent];
      new := BaseDir + IncludeTrailingPathDelimiter(PUBDIR) + Logs[LogIdent];

      //make public file
      CopyFile(PChar(old),PChar(new),false); //CopyFile wird ausgeführt

      //fill formal data
      LI.YourHandle := AppHandle;
      LI.LogIdentifier := LogIdent;

      //write formal data
      MS := TMemoryStream.Create;
      try
        MS.Write(LI,SizeOf(LI));
        MS.Write(new[1], length(new));

        //fill copydatastruct
        CpDt.dwData := Integer(ltReadAnswer);
        CpDt.cbData := MS.Size;
        CpDt.lpData := MS.Memory;

        TLogMessageThread.Create(WHandle,AppHandle,CpDt,ThreadLog); //Nachricht wird vershickt
      finally
        MS.Free;
      end;
Falls es nicht mein Fehler ist, und ich den übersehe: Womit ersetze ich CopyFile, um es auf jeden Fall "blocking" zu haben?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
 


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 01:17 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