|
Boost Users : |
From: Ray (get_rayman_at_[hidden])
Date: 2003-05-15 17:53:28
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?
Ray
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