[Mono-winforms-list] Handle being created when I don't expect

Maser, Dan Dan.Maser at inin.com
Fri Aug 10 08:33:58 EDT 2007


   That's the first time the HandleCreated event is fired, I have a MessageBox.Show in the first line of the HandleCreated handler and this is the first time I see it.  As such, how can I show you a call stack for the first time the handle is created if this is the first time the HandleCreated event is fired?

   I wonder if I should hack in some Console.WriteLine statements into the mono source and recompile to see?

   Dan 

-----Original Message-----
From: Rolf Bjarne Kvinge [mailto:rolflists at ya.com] 
Sent: Friday, August 10, 2007 6:23 AM
To: Maser, Dan; mono-winforms-list at lists.ximian.com
Subject: RE: [Mono-winforms-list] Handle being created when I don't expect



> -----Original Message-----
> From: Maser, Dan [mailto:Dan.Maser at inin.com]
> Sent: jueves, 09 de agosto de 2007 15:15
> To: Rolf Bjarne Kvinge; mono-winforms-list at lists.ximian.com
> Subject: RE: [Mono-winforms-list] Handle being created when I don't 
> expect
> 
> 
>   Sure. I'm using the latest mono I built from the SVN source on 
> 08/07/2007.  The call stack with file/line info is really wide, so 
> I've attached it as a text file to this message.
> 

When setting MdiParent the handle is being *re*created, not created, and this is matching MS' behavior.

To know when the handle was created in the first place I'd need another stack trace :)

Rolf
 
>   Thanks!
> 
> -----Original Message-----
> From: Rolf Bjarne Kvinge [mailto:rolflists at ya.com]
> Sent: Thursday, August 09, 2007 2:15 AM
> To: Maser, Dan; mono-winforms-list at lists.ximian.com
> Subject: RE: [Mono-winforms-list] Handle being created when I don't 
> expect
> 
> 
> 
> >From: mono-winforms-list-bounces at lists.ximian.com
> [mailto:mono-winforms-list-bounces at lists.ximian.com] On Behalf Of 
> Maser, Dan
> >Sent: miércoles, 08 de agosto de 2007 23:49
> >To: Maser, Dan; mono-winforms-list at lists.ximian.com
> >Subject: Re: [Mono-winforms-list] Handle being created when I don't 
> >expect
> >
> >  Sorry, that got sent too early.  Here's more of the call stack this
> time.
> 
> 
> Could you execute with "mono --debug app.exe" so that you get line 
> numbers as well? And knowing which version of Winforms you're using 
> would also help
> :)
> 
> Rolf
> 
> >_____________________________________________
> >From:   Maser, Dan
> >Sent:   Wednesday, August 08, 2007 4:39 PM
> >To:     'mono-winforms-list at lists.ximian.com'
> >Subject:        Handle being created when I don't expect
> 
> >  I've got a situation with MDI forms where the behavior is different 
> >on MS
> vs mono, but it's proving difficult to get a simple test project that
> >reproduces it.  The problem is that in my app setting the 
> >Form.MdiParent is
> causing that Form's handle to be created in mono when it doesn't on
> >MS.NET.   And it doesn't happen for simple test programs on mono 
> >either;
> with simple test programs setting the MdiParent property doesn't cause 
> the
> >handle to be created.  I think it must be something about my real 
> >project
> that causes this, but the program is so large it's difficult to tell 
> what that >might be.  Here's a partial call stack from the 
> Form.HandleCreated event.  Does this info give enough info to someone 
> to make some guesses about what >could cause the MdiParent property to 
> trigger the HandleCreated in some projects but not in others?
> >  Thanks in advance for any ideas!
> > Partial call stack:
> >at MyChildForm.on_HandleCreated(System.Object sender, 
> >System.EventArgs
> >e) at System.Windows.Forms.Control.OnHandleCreated(System.EventArgs 
> >e) at System.Windows.Forms.Form.OnHandleCreated(System.EventArgs e) 
> >at System.Windows.Forms.Control.WmCreate(Message ByRef m) at 
> >System.Windows.Forms.Control.WndProc(Message ByRef m) at 
> >System.Windows.Forms.ScrollableControl.WndProc(Message ByRef m) at 
> >System.Windows.Forms.ContainerControl.WndProc(Message ByRef m) at 
> >System.Windows.Forms.Form.WndProc(Message ByRef m) at 
> >System.Windows.Forms.Control+ControlWindowTarget.OnMessage(Message
> >ByRef
> m)
> >at System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message
> >ByRef
> m)
> >at System.Windows.Forms.NativeWindow.WndProc(IntPtr hWnd, Msg msg, 
> >IntPtr
> wParam, IntPtr lParam)
> >at System.Windows.Forms.XplatUIX11.SendMessage(IntPtr hWnd, Msg msg, 
> >IntPtr
> wParam, IntPtr lParam)
> >at
> System.Windows.Forms.XplatUIX11.CreateWindow(System.Windows.Forms.Crea
> t
> ePara
> ms cp)
> >at
> System.Windows.Forms.XplatUI.CreateWindow(System.Windows.Forms.CreateP
> a
> rams
> cp)
> >at
> System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.Cr
> e
> atePa
> rams create_params)
> >at System.Windows.Forms.Control.CreateHandle()
> >at System.Windows.Forms.Form.CreateHandle()
> >at System.Windows.Forms.Control.WmDestroy(Message ByRef m) at 
> >System.Windows.Forms.Control.WndProc(Message ByRef m) at 
> >System.Windows.Forms.ScrollableControl.WndProc(Message ByRef m) at 
> >System.Windows.Forms.ContainerControl.WndProc(Message ByRef m) at 
> >System.Windows.Forms.Form.WmDestroy(Message ByRef m) at 
> >System.Windows.Forms.Form.WndProc(Message ByRef m) at 
> >System.Windows.Forms.Control+ControlWindowTarget.OnMessage(Message
> >ByRef
> m)
> >at System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message
> >ByRef
> m)
> >at System.Windows.Forms.NativeWindow.WndProc(IntPtr hWnd, Msg msg, 
> >IntPtr
> wParam, IntPtr lParam)
> >at System.Windows.Forms.XplatUIX11.SendMessage(IntPtr hWnd, Msg msg, 
> >IntPtr
> wParam, IntPtr lParam)
> >at System.Windows.Forms.XplatUIX11.DestroyWindow(IntPtr handle) at 
> >System.Windows.Forms.XplatUI.DestroyWindow(IntPtr handle) at
> >System.Windows.Forms.NativeWindow.DestroyWindow()
> >at System.Windows.Forms.Control.DestroyHandle()
> >at System.Windows.Forms.Control.RecreateHandle()
> >at System.Windows.Forms.Form.set_MdiParent(System.Windows.Forms.Form
> >value)
> 
> >....
> >There's more, but this seems like the relevant part.
> >
> >
> 
> 
> 
> 
> 
> 
> 
> 
> 






More information about the Mono-winforms-list mailing list