Folgedes kleine Programm habe ich auf Debian 10, Debian 11 und Linux Mint 20.3 getestet. Alle 3 im Multiboot auf demselben PC.
Code: Alles auswählen
;Main_Window.pb
;Windows
Enumeration
#Main_Window
#Sub_Window
EndEnumeration
Global Font = LoadFont(2, "Liberation Mono", 10, #PB_Font_Bold)
Procedure Open_Main_Window()
If OpenWindow(#Main_Window, 400, 300, 300, 100, "Main_Window", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If UseGadgetList(WindowID(#Main_Window))
TextGadget(PB_Any, 10, 30, 250, 80, "Main Window", #PB_Text_Center)
SetGadgetFont(PB_Any, Font)
EndIf
EndIf
EndProcedure
XIncludeFile "Sub_Window.pbi"
Open_Main_Window()
Open_Sub_Window()
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
If WindowID = #Main_Window
If Event = #PB_Event_CloseWindow
CloseWindow(#Main_Window)
EndIf
EndIf
Until WindowID = #Main_Window And Event = #PB_Event_CloseWindow
End
;#####################################################################
;Sub_Window
Procedure Open_Sub_Window()
If OpenWindow(#Sub_Window,600,500,300,100,"Sub_Window") ;,#PB_Window_SystemMenu)
EndIf
; OptionGadget(#PB_Any, 100, 20, 50, 25, "Text")
EndProcedure
Auch die mit
ldd -v purebasic,
checkinstall.sh, und
sudo apt-get install -s gcc g++ libc6-dev libsdl1.2-dev libgtk-3-dev unixodbc-dev libgnome2-dev libxine2-dev libwebkitgtk-3.0-dev libxxf86vm-dev libwebkitgtk-dev libwebkitgtk-3.0-dev
ermittelten SW-Stände sind dieselben.
Um keine evtl. versteckten Fehler aus *.pb und *.pbi mitzuschleppen, habe ich das Testprogramm in jede IDE neu aus einer Textdatei übertragen.
Auf Debian 10 mit PB 5.72 und Linux Mint mit PB 5.73 habe ich den Effekt, daß bei Ausführung mit Blockkommentierung beim OptionGadget... im Sub_Window die IDE geöffnet bleibt. Wird die Blockkommentierung entfernt, wird die IDE bei Ausführung des Programms sofort geschlossen.
In Debian 11 mit PB 5.73 wird das jedoch korrekt ausgeführt und die IDE bleibt in beiden Fällen geöffnet.
Ich umgehe den Fehler jetzt, indem ich auf Auslagerung der kritischen Prozeduren in eine *.pbi verzichte. Die Sache hat sich damit hier erledigt. Nochmals Dank an Euch.
Gruß iwelx