Boost logo

Boost Users :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2003-05-19 07:43:28


Ray wrote:
> I am having some problems with boost::signals version 1_30_0 on XP,
> compiled and linked using VC6.
>
> I am building a timer mechanism, similar to that with Qt.
> A user instanciates a timer with some millisecond value, starts the
> timer via t.Start(), and then enters the event loop (or in most
> cases, returns from a function call by the event loop).
>
> Timer definition:
>
> class Timer {
> typedef boost::signal1<void, int> TimerSignalType;
> typedef TimerSignalType::slot_type TimerSlotType;
> public:
> boost::signals::connection TimerConnect(const TimerSlotType& slot )
> { return OnRing.connect( slot ); }
> Timer();
> Timer( const Timer& );
> Timer( unsigned long millesecInterval, TimerType t = Continous );
> ~Timer();
>
> void Start();
>
> void Ring() {OnRing( myId );}
>
> private:
>
> TimerSignalType OnRing;
> int myId;
> };
>
> void Rang( int i )
> {
> cout << "Received timer " << endl;
> }
>
> main()
> {
> EventLoop *eventLoop = EventLoop::Instance();
> Timer t1( 3000, Continous );
> t1.TimerConnect( boost::bind( Rang, _1) );
> t1.Start();
> eventLoop->Exec();
> }
>
> eventLoop->Exec() start an event loop.
> The code always crashes when atteping to execute the connected
> function.
>
> What am I doing wrong?

I see nothing wrong with the code you posted. When I added the necessary
stub definitions it compiled and ran fine.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net