FastMM4 wirft mit Absicht eine
Exception, damit das fehlerhafte Programm nicht weiterläuft bzw. Du an die Stelle findest, an der das Problem auftritt.
In deinen Records sollte kein dynamischer String deklariert werden, sondern immer ein Statischer: Ändere mal die Deklaration des Records
delphi]
TMapData = record
Name : String;
Fieldsize : Word;
BgColor : TColor;
Images : array [ftWater..ftDestroyable] of String; // <<<< Möööööppp
end; [/delphi]
Frage: Wieso verwendest Du nicht einfach dynammische Arrays?