Podpowiedz
user_6919294
pascal
9 months ago
1.4 kB
10
Indexable
// Zrób tak
// Zamiast AnimationStopFirst: Boolean = True; SetParentNil: Boolean = False ustaw brak domyslnnych wartosci
procedure SafeFree(var Obj: TObject; AnimationStopFirst: Boolean; SetParentNil: Boolean); overload;
var
Anim: TFloatAnimation absolute Obj;
Component: TFmxObject absolute Obj;
begin
if Assigned(Obj) then
begin
if AnimationStopFirst and (Obj is TFloatAnimation) then
Anim.Stop;
if SetParentNil and (Obj is TFmxObject) then
Component.Parent := nil;
FreeAndNil(Obj);
end;
end;
procedure SafeFree(var Obj: TObject; SetParentNil: Boolean = True); overload;
var
Anim: TFloatAnimation absolute Obj;
Component: TFmxObject absolute Obj;
begin
if Assigned(Obj) then
begin
if SetParentNil and (Obj is TFmxObject) then
Component.Parent := nil;
FreeAndNil(Obj);
end;
end;
procedure TMainForm.CleanupResources;
begin
// zwalnianie zasobow -----------------------------------------------------
// 1 Animacje
SafeFree(TObject(FCpuAnim), True, True);
SafeFree(TObject(FMemoryAnim), True, True);
// 2 Wskaźniki i tła
SafeFree(TObject(FCpuIndicator));
SafeFree(TObject(FMemoryIndicator));
SafeFree(TObject(FCpuBackground));
SafeFree(TObject(FMemoryBackground));
// 3 Monitor zasobów
FreeAndNil(FResourceMonitor);
// -------------------------------------------------------------------------
end;Editor is loading...
Leave a Comment