Gast
#2590836
Hallo Forum,
ich habe folgendes Problemchen, ich möchte abhängig davon, ob das
Programm mit --server gestartet wird entweder die "normale" Version oder
die Serverversion starten.
Mein Fenster w wird nicht angezeigt, bzw ich vermute, dass es sobald es
aus der Schleife wieder raus ist geschlossen und gelöscht wird. Stimmt
das?
--------------
#include <QtGui/QApplication>
#include "client.h"
#include "server.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if (argc>1)
{
Server w;
w.show();
}
else
{
Client w;
w.show();
}
return a.exec();
}
---------------
also dachte ich, ich kann die Sache mit Goto lösen. Leider geht auch das
folgende nicht:
------------
#include <QtGui/QApplication>
#include "client.h"
#include "server.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if (argc>1) goto starteclient;
else goto starteserver;
starteserver:
{
Server w;
w.show();
}
goto ende;
starteclient:
{
Client w;
w.show();
}
ende:
return a.exec();
}
--------
habe ich keine Klammern bei den Sprungmarken gibt es "error: crosses
initialization of ...", habe ich Klammern dort, gibt es das selbe
Ergebnis wie bei der Klammerung im ersten Beispiel.
Der Client und Servercode sind an sich ok. Wenn ich die Teile einzeln
teste wird das Fenster angezeigt. Nur in den Klammern geht es nicht.
Könnt ihr mir bitte erklären, warum das so ist und wie ich das ganze
lösen kann?
Vielen Dank schonmal
Walter