Dax,
irgendwie funktioniert ein Teil deines Code nicht. Wenn ich mit ReadTags die Tags auslesen möchte, dann alloziiert er im ersten Durchlauf ~600 MB, den zweiten Durchlauf schafft er gar nicht mehr, weil er dann nicht genug Arbeitsspeicher hat.
Wenn ich mir diese Funktion ansehe, dann sollte man meinen, dass er 4 Byte liest:
Delphi-Quellcode:
function TORPDataBase.ReadInt(Stream: TMemoryStream): Integer;
begin
stream.Read(result, sizeof(Integer));
end;
Stattdessen springt der Speicherverbrauch auf 600 MB...
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]