Ich bin noch relativ neu in Qt und hänge leider an einem Problem zu dem ich noch keine Lösung finden konnte.
Ich möchte sämtliche Netzwerkverbindungen (Ftp, Tcp, Udp) in meinem Programm mittels Threads realisieren. Jetzt habe ich das Problem dass mein Thread sehr unzuverlässig läuft und das Programm oft abstürzt.
Code: Alles auswählen
void MyFtpThread::run()
{
m_ftp = new QFtp();
…
connect(m_ftp, SIGNAL(stateChanged(int)),this,SLOT (StateChange(int)), Qt::DirectConnection);
connect(m_ftp, SIGNAL(commandFinished(int, bool)),this,SLOT(CommandFinished(int, bool)), Qt::DirectConnection);
ConnectToFtp(m_sFtpHost, m_sFtpUser, m_sFtpPwd);
exec();
}warning: QObject: Cannot create children for a parent that is in a different thread.
Ich verstehe ja warum ich diese warnings bekomme und wo das Problem eigentlich liegt (this im connect verweist noch auf den main-thread).
Allerdings muss ich leider diese connect hier verwenden und habe keinen Plan wie ich sowas anders machen könnte
Wäre toll wenn von euch schon mal jemand etwas in die Richtung gemacht hat und mir vielleicht einen Hinweis geben könnte.
Schöne Grüße,
Giri