PB Programm wird im Hintergrund angehalten (gelöst)

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von AND51 »

Hättest du mal die Hilfe genauer studiert!
In der Hilfe ist davon die Rede, dass bei Auswahl der Kompiler-Option "Console" automatisch ein Konsolenfenster geöffnet wird!

Siehe Kompilieren Ihres Programms:
Console : ein Executable mit der Standard-Konsole. Dieses kann trotzdem Fenster usw. öffnen, hat jedoch stets ein Konsolenfenster geöffnet. Bei der Ausführung über die Eingabeaufforderung verwendet dieser Executable-Typ die Eingabeaufforderung als seine Konsole und schreibt dort hinein, während das "Windows"-Executable bei der Verwendung von OpenConsole() ein separates Konsolenfenster erstellt. Diese Einstellung muss zum Erstellen von Konsolen-Anwendungen verwendet werden, deren Eingabe/Ausgabe mittels Pipes umgeleitet werden kann.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von Velz »

aha... hm... sorry! Und wo liegt da der kausale Zusammenhang zum Fehler?
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von AND51 »

Du musstest erst selbst durch langwierige und intensive Tests rausfinden, dass dein Programm auch ohne OpenConsole() funktioniert.
Doch warum? Wie kann ich bitteschön Print() benutzen, wenn ich gar keine Console habe?

Ganz einfach: Wählst du in den Kompileroptionen die Option "Console", dann wird beim Programmstart automatisch eine Konsole geöffnet. So steht es in der Hilfe, die ich zitiert und verlinkt habe.

Das solllte kein Meckern sein, ich wollte nur aufzeigen, dass du dir ein paar Stunden Ärgereien hättest sparen können, wenn du den Hinweis in der Hilfe entdeckt hättest. :allright:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von Velz »

Da hast du recht! Da ich aber vermutlich erst mal bei OpenConsole in der Hilfe nachgesehen hätte... wäre das Ergebnis völlig anders... aber das ist ja auch vollkommen egal.. es läuft und ich werde das nie mehr vergessen! Mit etwas Glück wird der nächste der das Prob hat, das hier finden!

Die einzige Frage die bleibt!!! Ist es ein Bug oder ein Feature??

Sollte man das als Bug posten?
1. in älteren PB Versionen besteht das Prob nicht
2. Es ist untypisch, dass man ein Consolenprogramm unter Linux nicht in den Hintergrund schieben kann
3. die Hilfe ist irreführend: Bei OpenConsole steht, dass man vor dem Aufruf jeden anderen Befehls aus der Bibliothek z.B. PrintN auf jeden Fall OpenConsole aufrufen muss!
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von AND51 »

Meiner Meinung nach ist es kein Bug.

Im Normalfall muss man OpenConsole() ausführen, um mit Print() schreiben zu können, ja. Doch das gilt nur für "normale" Executables.
"Konsolenprogramme" sind keine "normalen Executables". Das ist eine Ausnahme. Konsolenprogramme, und das kennst du ja von Linux, haben drei Standardkanäle: STDIN/STDOUT/STERR. Diese hat jedes Programm. Immer. Deswegen wird beim umschalten von "Executable" auf "Console" automatisch eine Konsole geöffnet, und man kann mit Print() schreiben, obwohl man nicht ausdrücklich OpenConsole() aufgerufen hat. Das Benutzen von OpenConsole() in einem "Console"-Programm öffnet ja sozusagen zu den 3 Standardkanälen einen weiteren Kanal. Wo soll Print() da noch schreiben? Auf STDOUT? Oder auf die zusätzliche Konsole? Das war vermutlich der Grund, wieso dein Programm zuerst nicht ging.

Dies ist nur eine Problembeschreibung. Ob das technisch stimmt, weiß ich nicht, denn ich habe es dir so beschrieben, wie ich mir das vorstelle. Hier müssten vielleicht mal die Entwickler oder die richtigen Experten ein Wort zu sagen. Ich gebe dir allerdings Recht, es ist in der Hilfe widersprüchlich beschrieben.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von ts-soft »

OpenConsole oder Compileroption Console bewirken beide, das u.a. die Console Lib hinzugelinkt wird.
Ohne OpenConsole wäre es nicht möglich in einer GUI-Anwendung eine Consolen-Ausgabe zu bewerkstelligen.

Eine richtige Console enthält weder OpenConsole noch EnableGraphicalConsole als Befehle.

Das ganze in der Hilfe korrekt zu formulieren, überlasse ich dann lieber den Profis :mrgreen:

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von Velz »

ok..! Also doch ein Feature!
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von ts-soft »

Gilt so aber nicht für Windows, das benötigt OpenConsole() :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von Velz »

Hallo ts-soft, ich bleibe dabei, dass es ein Fehler ist. Ich kenne kein Linuxprogramm, das auf der Console etwas anderes macht als im Hintergrund.

Aber da PB Linux schlimmere Fehler hat... sei's drum.

Wie ich sehe hast du auch Ubuntu 11.4... bei mir verabschiedet sich gelegentlich die IDE, meist nach dem Datei-öffnen Dialog. Hast du das auch?
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von ts-soft »

Velz hat geschrieben:Hallo ts-soft, ich bleibe dabei, dass es ein Fehler ist. Ich kenne kein Linuxprogramm, das auf der Console etwas anderes macht als im Hintergrund.
Ist kein Bug, ist eine Einschränkung bedingt durch die Unterschiede der verwendeten Betriebssysteme. Die bekommt
man leider nicht immer auf einen Nenner. Console unter Linux unterscheidet sich schon erheblich von der unter Windows.
Velz hat geschrieben: Wie ich sehe hast du auch Ubuntu 11.4... bei mir verabschiedet sich gelegentlich die IDE, meist nach dem Datei-öffnen Dialog. Hast du das auch?
Ja, das wurde aber bereits im engl. Bug-Forum gemeldet.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten