Mein Problem:
Ich habe ein kleine Anwendung erstellt, welche das Problem verdeutlicht.
In einem TextGadget wird nacheinander mit einem kurzen Delay(2000) unterschiedlicher Text gesetzt.
Erst
Windows
dann
Linux
dann
MacOS
Auf einem Windows 10 System erscheinen die verschiedenen Texte wie gewünscht hintereinander nach der Wartezeit.
Auf einem Ubuntu System (VBOX) erscheint ein leeres Textfeld und nach allen Wartezeiten der Text
MacOS, welcher der letzte gesetzte ist.
Somit ist das Verhalten für mich nicht kompatibel.
Hat jemand dazu eine Idee?
Hier der Ausschnitt aus dem Source Code um den es geht:
Code: Alles auswählen
;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;
Enumeration FormWindow
#Window_1
EndEnumeration
Enumeration FormGadget
#Text_0
#Button_0
EndEnumeration
Declare ResizeGadgetsWindow_1()
Declare Button_0(EventType)
Procedure OpenWindow_1(x = 0, y = 0, width = 250, height = 120)
OpenWindow(#Window_1, x, y, width, height, "Compat", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(#Text_0, 10, 10, 230, 60, "", #PB_Text_Center)
ButtonGadget(#Button_0, 70, 80, 115, 30, "Exiit")
EndProcedure
Procedure ResizeGadgetsWindow_1()
Protected FormWindowWidth, FormWindowHeight
FormWindowWidth = WindowWidth(#Window_1)
FormWindowHeight = WindowHeight(#Window_1)
ResizeGadget(#Text_0, 10, 10, FormWindowWidth - 20, FormWindowHeight - 60)
ResizeGadget(#Button_0, 70, 80, FormWindowWidth - 135, FormWindowHeight - 90)
EndProcedure
Procedure Window_1_Events(event)
Select event
Case #PB_Event_SizeWindow
ResizeGadgetsWindow_1()
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_0
Button_0(EventType())
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
XIncludeFile "window_1.pbf"
OpenWindow_1()
SetGadgetText(#Text_0,"Windows")
Delay(2000)
SetGadgetText(#Text_0,"Linux")
Delay(2000)
SetGadgetText(#Text_0,"MacOS")
Procedure button_0 (EventType)
End
EndProcedure
Repeat
Event = WaitWindowEvent()
Select EventWindow()
Case MainWindow
Window_1_Events(Event)
EndSelect
Until Event = #PB_Event_CloseWindow
Jörg