Ich versteh zwar nicht was dein Programm da genau macht. Aber ist ja auch egal.
Jedefalls hilft es wirstschaften, wenn man den beanspruchten Speicher auch wieder freigibt. Ich hab das an 2 Stellen getan .. und siehe da: Der Fehler ist weg.
Delphi-Quellcode:
PROCEDURE Damen_visualisieren (spalte,zeile:integer);
var damebild:TBitmap;
begin
damebild:=TBitmap.Create;
damebild.LoadFromFile('dame.bmp');
DrawGrid1.Canvas.Draw(((spalte*30)+spalte)-31,((zeile*30)+zeile)-31,damebild);
damebild.Free; //Hier ...
end;
PROCEDURE Damen_loeschen (spalte,zeile:integer);
var damebild:TBitmap;
begin
damebild:=TBitmap.Create;
damebild.LoadFromFile('leer.bmp');
DrawGrid1.Canvas.Draw(((spalte*30)+spalte)-31,((zeile*30)+zeile)-31,damebild);
damebild.Free; // ... und hier
end;