Einzelnen Beitrag anzeigen

JYPDWhite

Registriert seit: 29. Sep 2010
28 Beiträge
 
#1

Der aktuelle Prozess verwendet alle Handles EOSError

  Alt 11. Aug 2014, 17:58
Delphi-Version: XE2
Hi ihr,

ich suche seit knapp 3 Tagen einen Fehler bei uns in einem Programm. Er äußert sich darin dass das umschalten von TabSheets nicht mehr funktioniert und ich von Delphi die Exception bekomme:
Zitat:
... Exception der Klasse EOSError mit der Meldung 'Systemfehler. Code: 1158.
Der aktuelle Prozess verwendet alle Handles der zulässigen Höchstanzahl für Window Managerobjekte' aufgetreten.
Der Stacktrace sieht zu dem Zeitpunkt so aus:
Zitat:
:758cc42d KERNELBASE.RaiseException + 0x58
System.SysUtils.RaiseLastOSError(???)
System.SysUtils.RaiseLastOSError
Vcl.Controls.TWinControl.CreateWnd
Vcl.StdCtrls.TCustomCheckBox.CreateWnd
Vcl.Controls.TWinControl.CreateHandle
Vcl.Controls.TWinControl.UpdateShowing
Vcl.Controls.TWinControl.UpdateShowing
Vcl.Controls.TWinControl.UpdateShowing
Vcl.Controls.TWinControl.UpdateShowing
Vcl.Controls.TWinControl.UpdateShowing
Vcl.Controls.TWinControl.UpdateControlState
Vcl.Controls.TWinControl.CMVisibleChanged(???)
Vcl.Controls.TControl.WndProc((45067, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((45067, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
Vcl.Controls.TControl.Perform(???,???,0)
Vcl.Controls.TControl.SetVisible(True)
Vcl.ComCtrls.TPageControl.ChangeActivePage($18F044 )
Vcl.ComCtrls.TPageControl.SetActivePage($FFAA3900)
Vcl.ComCtrls.TPageControl.UpdateActivePage
Vcl.ComCtrls.TPageControl.Change
Vcl.ComCtrls.TCustomTabControl.CNNotify(???)
Vcl.Controls.TControl.WndProc((48206, 149608, 1636636, 0, 18536, 2, (), 63772, 24, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((48206, 149608, 1636636, 0, 18536, 2, (), 63772, 24, (), 0, 0, ()))
Vcl.Controls.TControl.Perform(???,???,1636636)
Vcl.Controls.DoControlMsg(???,(kein Wert))
Vcl.Controls.TWinControl.WMNotify((78, (), 149608, $18F91C, 0))
Vcl.Controls.TControl.WndProc((78, 149608, 1636636, 0, 18536, 2, (), 63772, 24, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((78, 149608, 1636636, 0, 18536, 2, (), 63772, 24, (), 0, 0, ()))
Vcl.Controls.TWinControl.MainWndProc(???)
System.Classes.StdWndProc(149628,78,149608,1636636 )
Vcl.Controls.TWinControl.DefaultHandler(???)
:004fbeab TControl.SetVisible + $2B

Und so siehts zu der Zeit im Taskmanager aus:
(Siehe Anhang)




Jemand irgendeine Idee? FastMM4 ist schon scharf gestellt und findet keine Lecks usw. Wobei ich dem seit heute eh nicht mehr traue.


Das ganze passiert nachdem ein Datensatz geladen wird. Das Problem dabei ist dass es ein "organisch" gewachsenes Programm ist ... sprich da ordentlich Code dahinter ist der mal überarbeitet gehört.
Miniaturansicht angehängter Grafiken
taskmanager.png  
  Mit Zitat antworten Zitat