Autor Beitrag
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Sa 16.08.03 13:07 
da sind wieder 3 Speicherlöcher drin:
mimi hat folgendes geschrieben:

function TMFA.ExtractFileHeader(Index:Integer):TDateiInfo;
...
DateiHeader:=TStringList.Create;

du erzeugst eine Stringlist und gibst die nie wieder frei.

Zitat:

...
DateiAW:=TReader.Create(DateiA, 100);
...

du erzeugst ein Treader, gibst es aber niemals frei. hier wäre ich mir auch nicht sicher, ob du deswegen nicht auch Probleme bekommst, weil beim destroy evtl noch die Position im stream geändert wird.

Zitat:

...
if DateiSignatur <> FileDes then begin
ShowMessage('Es ist keine FileArichver Datei !');
Exit;
end;

wenn die if-bedingung wahr wird, wird der Stream nie geschlossen, da das dateiA.free nie erreicht wird.

wenn du Probleme damit hast Suche in: Delphi-Forum, Delphi-Library MEMPROOF Suche bei Google MEMPROOF diese Programm hilft dir dabei, Speicherlecks zu finden.

Den Umweg über die Stringlist bräuchtest du auch nicht. Treader/Twriter stellt dir schon _Methoden zur Verfügung, mit der du Integer, Strings, Dates etc in einen Stream schreiben/lesen kannst

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 16.08.03 14:13 
doch ich brauche den umweg über die TStringliste weil:
ich sonst nicht auf heder eintrag z.b. 2 zugreifen kann. das ist nämlich so am einfachsten:)

_________________
MFG
Michael Springwald, "kann kein englisch...."