[DUG] Stack Overflow in WndProc
Kyley Harris
kyleyharris at gmail.com
Fri Jun 3 13:59:37 NZST 2011
Put a break point in and when you hit about 10 deep stack trace the
repeating call.
On Friday, June 3, 2011, jason at software-solutions.co.nz
<jason at software-solutions.co.nz> wrote:
> Hi there, I have been experiencing a Stack Overflow error in my WndProc override and not sure why this is…. Basic form below.. TMyForm = class(TForm)…Protected procedure WndProc(var Message: TMessage); override;…End; procedure TMyForm.WndProc(var Message: TMessage);var fActive : Boolean;begin case Message.Msg of WM_NCPAINT, WM_NCACTIVATE: begin if not IsIconic(Handle) then begin if Message.Msg = WM_NCPAINT then fActive := (Handle = GetActiveWindow) else fActive := (Message.wparam <> 0); if fActive then begin //Do Stuff end; end; if Message.Msg = WM_NCPAINT then begin if DwmCompositionEnabled then inherited WndProc(Message); end else inherited WndProc(Message); end; CM_DEACTIVATE: begin end; CM_ACTIVATE: begin end; else begin inherited WndProc(Message); end; end;end; any ideas what could be wrong here?I am trapping other windows messages in other message traps like… procedure WMCommand(var Message: TWMCommand); message WM_COMMAND; procedure WMActivate(var Msg: TWMActivate); message WM_ACTIVATE; Regards from New Zealand (GMT+12) Jason ColeySoftware Solutions
--
Kyley Harris
Harris Software
+64-21-671-821
More information about the Delphi
mailing list