FPC: Zu viele offene Dateien mit Assign und Rewrite

18/11/2007 - 12:47 von Michael Fuchs | Report spam
Hallo,

ich habe ein kleines Programm, welches rekursiv Verzeichnisse durchsucht
und ihren Inhalt in eine Datei schreibt.
Auszüge:

procedure SearchDirectories;
var
actualDirectory: TSearchRec;
begin
if FindFirst('*', faAnyfile and faDirectory, actualDirectory) = 0 then
repeat
if ((not(actualDirectory.Name = '.'))
and (not(actualDirectory.Name = '..'))
and ((actualDirectory.Attr and faDirectory) = faDirectory)) then
begin
ChDir(actualDirectory.Name);
SearchDirectories;
end;
until FindNext(actualDirectory) <> 0;
CreateIndexFile;
ChDir('..');
end;

procedure CreateIndexFile();
var
outputString: AnsiString;
iFile: TextFile;
begin
// ...
// durchsucht das Verzeichnis und schreibt den Inhalt formatiert in
// outputString
// ...
Assign(iFile, 'inhalt.txt');
ReWrite(iFile);
WriteLn(iFile, outputString);
Close(iFile);
end;

Grundsàtzlich kein Problem, nur bricht mir das Programm bei einem
größeren Text mit "EInOutError : Too many open files" ab. Kann ich
eigentlich nicht verstehen, denn ich schließe ja jede Datei wieder mit
Close nach dem Schreiben. Hat da jemand eine Idee?

mfg
Michael
Meine Wanderungen durch Realitàt und Cyberspace

auf --> http://www.michael-fuchs.net <--
 

Lesen sie die antworten

#1 Robert Riebisch
18/11/2007 - 15:20 | Warnen spam
Michael Fuchs wrote:

ich habe ein kleines Programm, welches rekursiv Verzeichnisse durchsucht
und ihren Inhalt in eine Datei schreibt.



Betriebssystem? FPC-Version?

Robert Riebisch
Bitte NUR in der Newsgroup antworten!
Please reply to the Newsgroup ONLY!

Ähnliche fragen