AGB  ·  Datenschutz  ·  Impressum  







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

CloseFile(F) schließt Datei nicht

Ein Thema von Luckie · begonnen am 9. Mär 2004 · letzter Beitrag vom 9. Mär 2004
Antwort Antwort
Benutzerbild von Luckie
Luckie

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

CloseFile(F) schließt Datei nicht

  Alt 9. Mär 2004, 01:47
Neuer Versuch:
Delphi-Quellcode:
function RewriteBookmarkFile(sl: TStrings; Filename: string): Cardinal;
var
  Loop: Integer;
  Count: Cardinal;
  inF, outF: TextFile;
  s: String;
begin
  Count := 0;
{$I-}
  AssignFile(inF, Filename);
  Reset(inF);
  AssignFile(outF, Filename+'.html');
  Rewrite(outF);
  for Loop := 0 to sl.Count - 1 do
  begin
    while not EOF(inF) do
    begin
      Readln(inF, s);
      if pos(sl.Strings[Loop], s) = 0 then
        WriteLn(outF, s)
      else
        Inc(Count);
    end;
  end;
  CloseFile(inF);
  CloseFile(outF);
  DeleteFile(Filename);
  RaiseLastOSError();
{$I+}
  result := Count;
end;
RaiseLastError(); sagt mir:
Zitat:
---------------------------
Bookmark-Checker
---------------------------
Systemfehler. Code: 32.

Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.
---------------------------
OK
---------------------------
Was darauf zurückzuführen ist, dass CloseFile(inF) die datei nicht richtig schließt. Also was tun?

Da vergeht einem die Lust am Programmieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#2

Re: CloseFile(F) schließt Datei nicht

  Alt 9. Mär 2004, 01:51
für solche Fälle gibts bei mir die Funktion DeleteFileTimeOut.
Ich hab schon genügend Ärger damit gehabt ! (Eventuell kannst Dir die TimeOut Zeit noch als Parameter übergeben)

Code:
function DeleteFileTimeOut(Filename : string) : boolean;
var TimeOut : DWORD;
 begin
 result := false;
 Timeout := gettickcount + (7000);    // 7 Sekunden

 while FileExists(FileName) and not DeleteFile( FileName ) and (gettickcount < TimeOut) do sleepx(50);
 if gettickcount < Timeout then result := true;
end; // von DeleteFileTimeout
achja .. das fehlt auch noch.

Code:
procedure SleepX(SleepTicks: DWORD);
var
  TC: DWORD;
begin
  TC := GetTickCount;
  repeat
    if application.Terminated then exit;
    Application.ProcessMessages;
    sleep(1);
  until ((GetTickCount-TC) > SleepTicks) or application.Terminated;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: CloseFile(F) schließt Datei nicht

  Alt 9. Mär 2004, 01:59
Hilft leider auch nichts.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#4

Re: CloseFile(F) schließt Datei nicht

  Alt 9. Mär 2004, 02:01
Zitat von Luckie:
Hilft leider auch nichts.
hmm .. na liefert DeleteFile nicht false zurück beim aufrufen bei Dir ?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: CloseFile(F) schließt Datei nicht

  Alt 9. Mär 2004, 03:53
Vergesst es. Ich habe die Datei an einer anderen Stelle nicht geschlossen. Das hat mich jetzt dreieinhalb Stunden gekostet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#6

Re: CloseFile(F) schließt Datei nicht

  Alt 9. Mär 2004, 08:29
Hehe, man muss nur wissen wo man suchen muss, kenne solche Dinge

Aber zu dem Fileproblem: Hatte auch schonmal so etwas - da war es dann aber der NoName-Virenscanner des Systems, der die Files blockierte. Habe mich damals auch totgesucht gehabt.
Wer später bremst ist eher tot.
  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 17:45 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