Embedding DWT

Michael Robellard mrobellard at ag.com
Wed Oct 8 10:35:12 PDT 2008


I am working with sleek on this project and just wanted to update the 
newsgroup that we found the problem that was causing our crash. The bug has 
nothing at all to do with dwt. It ends up that DWT call 
CoFreeUnusedLibraries every time it does a release of a COM object. It ends 
up that our COM server was set up incorectelly. DllCanUnloadNow was 
returning true because we were not incrementing the Module lock count each 
time we created a COM object.

After fixing this things started working much better.

"sleek" <cslush at gmail.com> wrote in message 
news:gcian7$2kvg$1 at digitalmars.com...
> Frank,
> So we are using win32_new which seems to be correctly creating the root 
> shell for us. However, if we open any child windows that parent this root 
> shell and then close those windows, it seems like something is crashing 
> because the window _and_ the root window (in this case IE) go away. Any 
> ideas?
> As to the COM server, we used dwin. The activex control we created used 
> DWT. I'd be more than happy to share this code with you. Do you have an IM 
> account that we can chat live?
> "Frank Benoit" <keinfarbton at googlemail.com> wrote in message 
> news:gchleo$10mk$1 at digitalmars.com...
>> sleek schrieb:
>>> I have created an IE toolbar by creating a COM server and then using DWT 
>>> for
>>> the interface. I'm able to get everything to display properly, but when 
>>> I
>>> open windows and then close them, it seems like DWT is crashing 
>>> somewhere
>>> because the parent windows disappear as well.
>>> I'm using Shell.win32_new to create my Shell because I need it to use 
>>> the IE
>>> hwnd as it's parent. I know that win32_new is makred as something that 
>>> is
>>> not part of the public API, but I'm not sure how else I can solve my
>>> problem.
>>> Are there any other ways that I can create a shell that has an HWND 
>>> parent?
>>> Lastly, are there any recommended ways of debugging a D dll? I'm having 
>>> a
>>> hell of a time right now and frankly it seems that adding logging to a 
>>> file
>>> is the only way that I can do it (ewwww).
>>> Any help is _GREATLY_ appreciated. Thanks
>> Well, a IE toolbar will never be X-platform, so I think it is OK to rely
>> on win32 only features.
>> Another good resource to get answers is eclipse.org/platform/swt 
>> newsgroup.
>> Debugging: well you can load it and then "attach to the process".
>> I am curious, how did you do the COM server? Did you use the DWT ole
>> package or dwin or something else?

More information about the Digitalmars-d-dwt mailing list