Und wieder einmal muss ein Bugfix her. Diesmal hat es aber nicht CodeGear verbrochen sondern Microsoft. Der Bug war eigentlich schon immer da, nur fiehl er unter 32 Bit Systemen nicht ganz so sehr auf. Bei 64 Bit Systemen tritt er aber sehr schnell auf. Bestes Beispiel ist die
RAD Studio 2007
IDE. Der Editor wird dort nicht richtig eingepasst und hinterlässt einen Bereich den er eigentlich nach einem Resize belegen sollte.
Für die
IDE habe ich ja bereits einen Bugfix im
IDE FixPack eingebaut. Der taugte aber nicht für den "Massenmark", da er speziell auf den
IDE Editor zugeschnitten ist. Nun trat das Problem aber in einem meiner eigenen Programme auf wodurch ich mich genötigt fühlte, etwas dagegen zu tun. Und da ich den Fehler sicherlich auch noch in anderen Anwendungen bekommen könnte, muss etwas her, das unabhängig von der Anzahl der installierten WH_CALLWNDPROC hooks und von der Schachtelungstiefe der Controls ist.
Herausgekommen ist eine Bugfix
Unit die man einfach dem Projekt hinzufügen und sich um nichts mehr kümmern muss. Die
Unit ersetzt ein paar TWinControl Methoden and ändert dabei die rekursiven Realign-Aufrufe in iterative Aufrufe um. Dadurch tritt der Kernel Stack Overflow nicht mehr ein und alle Controls werden korrekt ausgerichtet.
Download der
Unit im CodeCentral:
http://cc.codegear.com/item/25646