Seite 1 von 1
[Fixed] PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 18.08.2015 01:14
von Sicro
Code: Alles auswählen
Procedure AntiRequesterFreeze()
Protected Window = OpenWindow(#PB_Any, 0, 0, 0, 0, "", #PB_Window_Invisible)
CloseWindow(Window)
EndProcedure
OpenFileRequester("","","",0) ; OpenFileRequester hängt eine Weile, nachdem auf "Öffnen", "Abbrechen" oder "Schließen" gedrückt wurde.
; Bei anderen Requesters ist es ebenfalls.
; Wird bei einem der unten aufgeführten zwei Zeilen die Kommentierung entfernt, hängt OpenFileRequester nicht mehr.
;AntiRequesterFreeze() ; Kommentierung entfernen und der Requester hängt nicht, sondern schließt sich sofort.
;MessageRequester("Kein hängen", "Durch diesen MessageRequester gibt es beim OpenFileRequester auch kein Hängen mehr")
; Es folgt viel Arbeit (z. B. Datei einlesen)
For i = 1 To 2000000000 : Next
Re: PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 21.08.2015 13:09
von Sicro
Kann das bitte auch noch jemand bestätigen?
Re: PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 23.08.2015 22:22
von The_Dark_Zim-.-
Linux Mint 17.1 Cinnamon 64-bit
Cinnamon-Version 2.4.8
Linux-Kernel 3.13.0-37-generic
PB Version 5.22 LTS x64
Kann das Problem bestätigen
Re: PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 23.08.2015 22:37
von ts-soft
Naja, keine Events werden bearbeitet und es ist auch kein Fenster offen, welches so ein blockierender Requester eigentlich benötigt.
Kann mir so einen Code auch nicht wirklich vorstellen
Gruß
Thomas
Re: PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 24.08.2015 08:33
von Kukulkan
Mangels eines Loops zum abarbeiten der Events des Betriebssystems (WaitWindowEvent() oder WindowsEvent()) kann hier das Betriebssystem nie die Aktualisierungen des Programms ausführen (du gibst Ihm nie die Möglichkeit dazu).
Also entweder ein Fenster mit WaitWindowEvent() oder WindowsEvent() (was Du ja versucht hast) oder Du findest einen anderen Weg die Events abzuarbeiten (zB ein API call für GTK?).
Re: PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 24.08.2015 10:58
von mhs
Kukulkan hat geschrieben:Mangels eines Loops zum abarbeiten der Events des Betriebssystems (WaitWindowEvent() oder WindowsEvent()) kann hier das Betriebssystem nie die Aktualisierungen des Programms ausführen
Für die Requester Lib sollte eigentlich kein Eventloop benötigt werden. Ich würde das als Bug einstufen.
ts-soft hat geschrieben:
Kann mir so einen Code auch nicht wirklich vorstellen
z.B. für kleine Tools, wenn du nur den Pfad für eine Datei abfragen möchtest, um die Datei zu verarbeiten und sonst keine GUI benötigt wird.
Re: PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 24.08.2015 11:30
von Kiffi
nur zur Anmerkung: unter Windows (7) hängt der Requester nicht.
Grüße ... Peter
Re: PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 24.08.2015 11:45
von Kukulkan
Dann würde ich Sirco empfehlen, dass im englischen Forum als Linux-Bug zu posten

Re: PB-Bug unter Linux? Requester hängen eine Weile
Verfasst: 05.09.2015 02:08
von Sicro
http://www.purebasic.fr/english/viewtop ... 23&t=63102
mhs hat geschrieben:z.B. für kleine Tools, wenn du nur den Pfad für eine Datei abfragen möchtest, um die Datei zu verarbeiten und sonst keine GUI benötigt wird.
Ja, genau. Solche Programme bastle ich immer wieder mal.
Wenn ich doch mal Meldungen während der Verarbeitung ausgeben möchte, nutze ich unter Windows OpenConsole().
Kiffi hat geschrieben:nur zur Anmerkung: unter Windows (7) hängt der Requester nicht.
Danke, Kiffi, das hätte ich erwähnen sollen.