Już sobie poradziłem z tym wydłużając nieco kod i dodając treść funkcji do głównej procedury programu, ale z ciekawości się zapytam.
Bo mam taki przykładowo kod:
function narysuj:TBitmap;
var b:TBitmap;
begin
b:=TBitmap.Create;
.... {cośtam z bitmapą}
Result:=b;
b.Free; {i tu jest błąd}
end;
nie można zwolnić tej bitmapy nawet po przekazaniu jej do resulta. Dlaczego ? Kiedy ją zwolnię to występuje Access violation. Jeśli kilka razy wykonam procedurę to program coraz wolniej chodzi bo zaczyna się zapychać RAM. Jak zwolnić bitmapę i czy to jest możliwe w takim przypadku ?</wiki>