http://www.pronix.de -> Forum -> Sonstiges

Unterseiten

Forum: Sonstiges

Moderatoren: juergen, Martin Conrad

Thema: FAQ? Dos fenster geht immer gleich zu

  • (nur registrierte Mitglieder)

FAQ? Dos fenster geht immer gleich zu

Martin Conrad (webmaster) am 16.04.2009 um 18:25

Hat jemand ne Idee, wie wir die Frage beantworten können, so das sie auch von den Leuten, die das Problem haben gefunden wird?
Ich fürchte fast da hilft nix, man findet das mit ner Suche im Forum, bei google, überall...

Bis denne

Martin

--
0xC0FFEE

 
Hallo!

Zitat:

Wenn ich mein Programm starte, schließt sich das Fenster sofort wieder. Woran liegt das?


Da diese Frage definitiv als "frequently asked" bezeichnet werden kann, versuche ich mal die Frage ausführlich zu beantworten um später darauf verlinken zu können:

--------------------------------------------------------------------------------

Theorie

Programme ohne Grafische Benutzeroberfläche (GUI) (externer link) werden als Kommandozeilen (externer link) -Programme bezeichnet.

Bei einfachen Programmen, die man als Programmier-Anfäger zu Beginn schreibt, handelt es sich um solche Kommandozeilenprogramme.

Diese werden in einem Kommandozeilen-Interpreter ausgeführt. Beispiele dafür wären je nach Betriebssystem z.B: DOS-Prompt (externer link) (Windows) oder die Bash (externer link) (Linux).

Startet man ein Kommandozeilenprogramm nicht von einem Interpreter aus, sonder durch (Doppel-)Klick von einer grafischen Oberfläche, dann verhält sich das Betriebssystem folgendermaßen:

1) Es startet einen Kommandozeileninterpreter
2) Führt das Programm aus
3) Nach dem sich das Programm beendet hat, wird auch das Fenster des Interpreters wieder geschlossen

Schritt 3 ist für das in der Frage beschriebene Verhalten verantworlich.

Lösungsvorschläge

*) Man verzögert das Ende des Programms dadurch, dass man auf eine Eingabe wartet, die nicht mehr ausgewertet wird. Das ist das typische "Drücken Sie eine beliebige Taste um das Programm zu beenden".

*) Man startet das Programm nicht durch Doppelklick in der GUI, sondern direkt aus einem Kommandozeileninterpreter. Dieser wird nämlich dann nach Ende des Programms nicht geschlossen.

--------------------------------------------------------------------------------

@Martin: Wie bereits oben erwähnt gehe ich nicht davon aus, dass die Leute mit dem Problem die Antwort im Forum von alleine finden. Aber wenn die Antwort in den FAQs stehen würde, wäre die Arbeit der anderen Forumsteilnehmern leichter, weil sie nur noch darauf verlinken müssten, anstatt die Frage neu zu beantworten.

@Community: Ich tu mich immer schwer damit, Sätze verständlich zu formulieren. Falls von euch jemand was anders schreiben würde, oder sonstige Verbesserungen/Korrekturen/Ergänzungen hat, antwortet bitte.

mfg, Wolfgang

--
Hex, Bugs and Rock 'n Roll

 

Re: FAQ? Dos fenster geht immer gleich zu

Martin Conrad (webmaster) am 29.09.2009 um 12:32

Huhu,

ich werds definitiv mit reinnehmen. Inhaltlich hab ich aber was zu Pupen. Programme ohne GUI werden nicht in einem Interpreter aufgerufen. Unter Windows werden sie halt in einem DOS-Fenster gestartet, wenn man drauf klickt.
Wie wärs hiermit:

Zitat:

Wenn ich mein Programm starte, schließt sich das Fenster sofort wieder. Woran liegt das?



Theorie

Programme ohne Grafische Benutzeroberfläche (GUI) (externer link) werden als Kommandozeilen (externer link) -Programme bezeichnet, die unter Windows in einem DOS-Fenster ausgeführt werden, wenn das Programm mit Doppelklick gestartet wird.

Startet man ein Kommandozeilenprogramm unter Windows nicht von einem DOS-Fenster aus, sonder durch (Doppel-)Klick von einer grafischen Oberfläche, dann verhält sich das Betriebssystem folgendermaßen:

1) Es startet eine DOS-Fenster
2) Führt das Programm aus
3) Nach dem sich das Programm beendet hat, wird auch das Fenster wieder geschlossen

Schritt 3 ist für das in der Frage beschriebene Verhalten verantworlich.

Lösungsvorschläge

*) Man verzögert das Ende des Programms dadurch, dass man auf eine Eingabe wartet, die nicht mehr ausgewertet wird. Das ist das typische "Drücken Sie eine beliebige Taste um das Programm zu beenden".

*) Man startet das Programm nicht durch Doppelklick in der GUI, sondern direkt aus dem DOS-Fenster. Dieses wird nach Ende des Programms nicht automatisch geschlossen.

DOS-Fesnter heissts glaub ich nicht wirklich. Ich meine Eingabeaufforderrung oder so. Hat mal wer den Namen parrat?

Bis denne

Martin

--
0xC0FFEE

 
Hallo Martin!

Das Wort "Kommandozeileninterpreter (externer link) " ist IMHO der korrekte Oberbegriff für Programme dieser Art (MS-DOS Eingabeaufforderung, DOS-Prompt, etc wär für die Microsoft-Welt, Shell wäre Linux/UNIX-spezifisch).

Um aber Verwechslungen mit Interpreter im Sinne von "Compiler vs Interpreter" vorzubeugen, sollten wir lieber ein anders Wort benutzen.

Die Formulierung mit DOS-Fenster gefällt mir nicht, weil das nur Windows-Rechner zutreffen würde, das Verhalten ist aber auf Linux-Systemen mit GUI genau gleich.

Neue Vorschläge: Konsolen-Fenster, Kommandozeilen-Fenster

mfg, Wolfgang

//edit: Typo

--
Hex, Bugs and Rock 'n Roll

 

Re: FAQ? Dos fenster geht immer gleich zu

Martin Conrad (webmaster) am 29.09.2009 um 15:28

Zitat:

Hallo Martin!

Das Wort "Kommandozeileninterpreter (externer link) " ist IMHO der korrekte Oberbegriff für Programme dieser Art (MS-DOS Eingabeaufforderung, DOS-Prompt, etc wär für die Microsoft-Welt, Shell wäre Linux/UNIX-spezifisch).


Ohne jetzt den Korinthenka**ermodus einschalten zu wollen - die shell ruft das Programm auf, weil es ihm als Argument übergeben wurde; das Programm läuft also nicht in der Shell.
Das Wort Shell ist auch nicht Betriebssystemabhängig. GUI und CLI sind beide eine Shell. Es ist nur die Hülle für den Aufruf und nicht zu verwechseln mit einer Unix-Shell.

Zitat:

Um aber Verwechslungen mit Interpreter im Sinne von "Compiler vs Interpreter" vorzubeugen, sollten wir lieber ein anders Wort benutzen.

Die Formulierung mit DOS-Fenster gefällt mir nicht, weil das nur Windows-Rechner zutreffen würde, das Verhalten ist aber auf Linux-Systemen mit GUI genau gleich.


Auch hier wieder nein, ich hatte das absichtlich rausformuliert. Es ist Konfigurationssache, ob eine Gui das Programm direkt in ner Shell aufruft, oder irgend einer Konsolenanwendung als Argument mitgibt. Bei den zigtausend Oberflächen gibts da die unterschiedlichsten Grundkonfigurationen. Bei meinem xfce4 wirds einfach gestartet, ohne so eine Konsolenanwendung zu öffnen. Man sieht also gar nichts.

Zitat:

Neuer Vorschläge: Konsolen-Fenster, Kommandozeilen-Fenster

mfg, Wolfgang




Ich find Kommandozeilen-Fenster gut. Shell ist zu abstrakt und bringt schnell ein Missverständnis und dieser FAQ-Punkt richtet sich ja an Anfänger. Konsolenfenster ist auch nicht wirklich korrekt und für viele Anfänger unter Win ja auch ein "Hä?" wert. OK?

Bis denne

Martin

--
0xC0FFEE

 
  • (nur registrierte Mitglieder)