Habe mir eine ganz einfache ftp Klasse gebaut:
Kann die Fkt auch in meinem MainWindow aufrufen.
Es wird jedoch nichts heruntergeladen.
Zugriff im MainWindow
Code: Alles auswählen
stuff..
UpdateAdler update;
update.download();
stuff...
Code: Alles auswählen
QT_BEGIN_NAMESPACE
class QFile;
class QFtp;
QT_END_NAMESPACE
class UpdateAdler : public QFtp
{
public:
UpdateAdler();
void download();
QFtp *ftp;
QFile *file;
private slots:
void commandFTP(int,bool);
};Code: Alles auswählen
#include <QtGui>
#include <QtNetwork>
#include <QtGui/QApplication>
#include "updateAdler.h"
UpdateAdler::UpdateAdler(): ftp(0)
{
}
void UpdateAdler::download()
{
ftp = new QFtp(this);
connect(ftp,SIGNAL(commandFinished(int,bool)),this,SLOT(commandFTP(int,bool)));
ftp->connectToHost("server.net", 21);
}
void UpdateAdler::commandFTP(int reg, bool error)
{
if(!error)
{
if (ftp->currentCommand() == QFtp::ConnectToHost)
ftp->login("user","password");
if (ftp->currentCommand() == QFtp::Login)
file->setFileName("test.txt");
file->open(QIODevice::WriteOnly);
ftp->get("test.txt", file);
}
if (ftp->currentCommand() == QFtp::Get)
ftp->close();
}
}
Code: Alles auswählen
Object::connect: No such slot QFtp::commandFTP(int,bool) in updateAdler.cpp:19
Wenn ich Q_OBJECT Macro mit einbinde bekomme ich folgende Fehlermeldung (siehe Anhang)
Der zeigt auf
Code: Alles auswählen
UpdateAdler::UpdateAdler(): ftp(0)