![]() |
EOutOfResources bei resize
Hallo
wenn ich meine Form resize dann kommt dieser Fehler :
Delphi-Quellcode:
--------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Lampen.exe ist eine Exception der Klasse EOutOfResources mit der Meldung 'Für diesen Befehl ist nicht genügend Speicher verfügbar. ' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe ---------------------------
Delphi-Quellcode:
Hier soll das alte CircleScope zerstört und ein neues erstellt werden. Beim jedem resize braucht das ding ca. 50MB mehr Speicher. Da ist der bald voll. Zerstöre ich das irgendwie nicht richtig ?procedure TForm11.FormResize(Sender: TObject); begin TimerRefresh.Enabled := false; CircleScope.Free; CircleScope := TCircleScope.Create(PaintFrame.Width, PaintFrame.Height); CircleScope.Pen:= $00804000; CircleScope.Offset := TrBOffset.Position; CircleScope.Radius := TrBRadius.Position; TimerRefresh.Enabled := true; end; MfG |
Re: EOutOfResources bei resize
Ich vermute TCircleScope hat interne Speicherlücken.
Häng FastMM4 und lass dir die Speicherlücken ausgeben. |
Re: EOutOfResources bei resize
anscheinend gibt es seinen speicher nicht anständig frei. Schau dir mal die Destruktoren an.
|
Re: EOutOfResources bei resize
Warum muss das Objekt CircleScope überhaupt beim Resizen zerstört & neu erstellt werden? Reicht nicht eine Parameterübergabe der geänderten Größe an CircleScope?
|
Re: EOutOfResources bei resize
heir einmal der constructor dieser klasse:
Delphi-Quellcode:
der desctructor ist leider nicht in der unit aufzufinden?!Constructor TCircleScope.Create(Width, Height : Integer); begin VisBuff := TBitmap.Create; BackBmp := TBitmap.Create; VisBuff.Width := Width; VisBuff.Height := Height; BackBmp.Width := Width; BackBmp.Height := Height; BkgColor := clBlack; ScopeRad := 30; ScopeOff := 30; PenColor := clWhite; DrawType := 0; DrawRes := 2; FrmClear := True; UseBkg := False; end; wie doof ist das denn? |
Re: EOutOfResources bei resize
Zitat:
Delphi-Quellcode:
Destructor TCircleScope.destroy; begin VisBuff.free BackBmp.free; inherited end; |
Re: EOutOfResources bei resize
Danke. Jetzt funktionierts.
Respekt, wie gleich jemand die Klasse gefunden hat. :thumb: MfG |
Re: EOutOfResources bei resize
google is your best friend :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz