Hi,
I'm using a ATL ActiveX on a C# windows form (Visual studio 2005).
That works great. However, I wanted to create a C# user control which
would wrap this ActiveX. Therefore I created an empty user control and
just put this ActiveX on it. No problem so far.
However, when I wanted to test this dummy User Control, I put this
user control on its turn on a c# form.
That's when it started to go wrong. Once it is put on the form, I can
not move it anymore and when I click in the user control I get an
error saying that an unhandled exception caused the designer to crash.
In the activex there is a stack trace displayed:
..UnsafeNativeMethods.IOleInplace.UIDeactivate
at ...AxHost.UiDeactivate
at....AxHost.OnLostFocus...
I hooked up an instance of Visual studio 2003 to debug the Visual
studio 2005.
And it seems it is going wrong in the
::SetFocus call in SetControlFocus(TRUE) which is called from
CComControlBase::InPlaceActivate(LONG iVerb, const RECT* /
*prcPosRect*/) in atlctl.h
Anybody any ideas why an activex is making the designer go bananas
like this? And how to prevent it?
Kind Regards,
Jeroen
Vitaly - 17 May 2007 14:00 GMT
Microsoft says that ActiveX can run in the thread with STA parameter (by
default a thread is started as MTA). Check your code in what thread type
you
start your activex.
> Hi,
>
[quoted text clipped - 25 lines]
> Kind Regards,
> Jeroen
I'm protected by SpamBrave
http://www.spambrave.com/