Programm beenden in main
Programm beenden in main
Hi,
Ich möchte das Programm in der main Funktion vorzeitig durch QCoreApplication::exit() beenden. Das funktioniert allerdings nicht, das Programm läuft einfach weiter.
Warum?
MfG,
Alex
Ich möchte das Programm in der main Funktion vorzeitig durch QCoreApplication::exit() beenden. Das funktioniert allerdings nicht, das Programm läuft einfach weiter.
Warum?
MfG,
Alex
-
- Beiträge: 51
- Registriert: 28. Juli 2005 12:26
- Kontaktdaten:
sry, fehler im browser, doppelpost
Zuletzt geändert von Emperor_L0ser am 21. Januar 2006 15:30, insgesamt 1-mal geändert.
-
- Beiträge: 51
- Registriert: 28. Juli 2005 12:26
- Kontaktdaten:
Hi,
Also im Prinzip sieht es so aus (Natürlich ist im Original noch die Qt Initialisierung):
Es ist eine Konsolenanwendung. Die Verwendung von ::quit() bringt auch nichts, ist im Endeffekt eigentlich auch das Gleiche.
Das Problem ist, dass wenn ich das Programm mit einer dieser Methoden beenden möchte, es einfach nicht beendet wird, sondern weiterläuft.
MfG,
Alex
Also im Prinzip sieht es so aus (Natürlich ist im Original noch die Qt Initialisierung):
Code: Alles auswählen
int main()
{
qCritical() << "Invalid mode!";
QCoreApplication::exit( -2 );
}
Das Problem ist, dass wenn ich das Programm mit einer dieser Methoden beenden möchte, es einfach nicht beendet wird, sondern weiterläuft.
MfG,
Alex
-
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Code: Alles auswählen
app.exit( 0 );
-
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Code: Alles auswählen
int main( int argc, char **argv )
{
qInstallMsgHandler( debugMessageOutput );
QCoreApplication app( argc, argv );
app.setOrganizationName( "XXX" );
app.setOrganizationDomain( "XXX" );
app.setApplicationName( "XXX" );
Debug::debug_file.setFileName( QString( "%1/%2" ).arg( QCoreApplication::applicationDirPath() ).arg( "debug.txt" ) );
if( !Debug::debug_file.open( QIODevice::WriteOnly ) ) {
cerr << "Failed opening debug file!" << endl;
return 0;
}
QSettings settings( QSettings::IniFormat, QSettings::UserScope, QCoreApplication::organizationName(), QCoreApplication::applicationName() );
if( settings.value( "General/IsConfigured", "false" ).toString() == "false" )
createSampleConfiguration();
// Configure mode, or not
if( (argc == 4) or (argc == 5) ) {
if( QString( argv[1] ) == "configure" ) {
if( QString( argv[2] ) == "set" ) {
settings.setValue( QString( argv[3] ), QString( argv[4] ) );
settings.sync();
QCoreApplication::exit( 0 );
}
else if( QString( argv[2] ) == "get" ) {
cout << settings.value( QString( argv[3] ) ).toString().toAscii().constData() << flush;
QCoreApplication::exit( 0 );
}
else {
qCritical() << "Invalid modifier!";
QCoreApplication::exit( -1 );
}
}
else {
qCritical() << "Invalid mode!";
QCoreApplication::exit( -2 );
}
}
else {
// Initialize sub-systems
ServerConnection::instance();
Synchronizer::instance();
Jukebox::instance();
// Connect sub-systems
}
return app.exec();
}
MfG,
Alex
-
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten: