Re: Problem with threads
Alexander Olk <[email protected]> Sat, 30 Apr 2005 18:07:13 +0200
| Newsgroups | gmane.comp.lib.wxwindows.wxnet |
|---|---|
| Message-ID | <[email protected]> |
There is now an other possibility in cvs:
you can add
ObjectDeleted = new ObjectDeletedHandler(MyCppObjectDoesntLiveAnymore);
to your ctor...
public void MyCppObjectDoesntLiveAnymore()
{
Console.WriteLine("Oh, it's gone...");
}
Regards
Alexander Olk
Am Samstag, den 30.04.2005, 16:46 +0200 schrieb Alexander Olk:
> Am Samstag, den 30.04.2005, 15:26 +0200 schrieb Radek Podgorny:
> > Thanks but this wouldn't solve my problem. I don't want to touch c++.
> >
> > As far as I understand it correctly, the problem is that all the child windows
> > (pointers to them) are stored in the c++ part of wxnet. When I call the
> > wx.Frame C# destructor, it calls the underlaying c++ destructor which takes
> > all the children and destroys them (in c++). So, when I overload the
> > wx.Button destructor (or Dispose or whatever) which is wx.Frame's child in C#
> > it's pretty useless because it's never called, right?
> >
> > How do we solve this? If it's really like this the entire wx-net wrapper is
> > useless :-(
>
> If you look at the c++ wrapper for wxButton you'll find
> DECLARE_OBJECTDELETED(_Button) in class _Button.
>
> What does DECLARE_OBJECTDELETED do ?
>
> DECLARE_OBJECTDELETED is a macro that implements the following code:
>
> #define DECLARE_OBJECTDELETED(name) \
> virtual ~name() \
> { \
> FunctionEvent e(wxEVT_OBJECTDELETED); \
> ProcessEvent(e); \
> }
>
> If the button dtor gets called (c++) a "object deleted" event will be generated.
> You can catch this event with
>
> // add the next line to your Button class ctor
> AddEventListener(Event.wxEVT_OBJECTDELETED, new EventListener(OnObjectDeleted));
>
> public void OnObjectDeleted(object sender, Event evt)
> {
> // stop a thread, do someting else here,
> // change the value of a thread_is_running variable,
> // turn on the coffee machine,
> // or whatever you want...
> }
>
> Hope that helps.
>
> Regards
> Alexander Olk
>
>
>
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: NEC IT Guy Games.
> Get your fingers limbered up and give it your best shot. 4 great events, 4
> opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
> win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
> _______________________________________________
> wxnet-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wxnet-users
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20