[gelöst] signal kommt nicht an
Verfasst: 5. Januar 2011 21:09
moin zusammen,
ich bin da auf ein problem gestossen, welches ich bisher nicht loesen konnte und nicht einmal eine ahnung habe wies das ueberhaupt auftreten kann. und zwar hab ich 2 klassen erstellt (auszugsweise):
und
das problem ist, dass entweder das signal in der klasse PeerDataServer nicht richtig ausgeloest wird (was ich mir nicht vorstellen kann) oder der slot in der klasse PeerDataManager dabei nicht getriggert wird. eine debug-ausgabe vor dem ausloesen des signals wird ausgegeben, eine debug-ausgabe direkt am anfang des slots aber nicht.
nun steh ich da und weis nicht weiter. hat jemand ne idee woran das liegen koennte oder wie man der sache weiter auf den grund gehen koennte?
ich waere fuer eine hilfe sehr dankbar
gruesse
Kurbel
ich bin da auf ein problem gestossen, welches ich bisher nicht loesen konnte und nicht einmal eine ahnung habe wies das ueberhaupt auftreten kann. und zwar hab ich 2 klassen erstellt (auszugsweise):
Code: Alles auswählen
class PeerDataServer : public QObject {
Q_OBJECT
signals:
void ChunkRequested( ChunkMetaData* );
};
void
PeerDataServer::someRandomFunction()
{
switch( someVar ) {
case 1:
{
qDebug() << "random output";
emit ChunkRequested( rightVar );
}
case 2: doSomethinElse();
}
}
Code: Alles auswählen
class PeerDataManager : public QTcpServer {
Q_OBJECT
private:
QList<PeerDataServer*> fActiveAnswers;
private slots:
void _ChunkRequested( ChunkMetaData* );
};
void
PeerDataManager::incomingConnection( int socketDescriptor )
{
PeerDataServer* serv = new PeerDataServer( socketDescriptor );
connect( serv, SIGNAL(ChunkRequested( ChunkMetaData* )),
this, SLOT(_ChunkRequested( ChunkMetaData* )));
fActiveAnswers.append(serv);
}
nun steh ich da und weis nicht weiter. hat jemand ne idee woran das liegen koennte oder wie man der sache weiter auf den grund gehen koennte?
ich waere fuer eine hilfe sehr dankbar
gruesse
Kurbel