Noch verrückter ist es, dass es dann klappt, wenn man zusätzlich einen MessageRequester einsetzt. Nur kann das ja nicht die Lösung sein. Bis PureBasic 6.02 läuft derselbe Code einwandfrei.
Unter Windows 10 übrigens wird die gewünschte Zeile zwar eingefügt – allerdings gleich drei Mal, manchmal vier Mal. In einem sehr abgespeckten Programm kann man das testen:
Code: Alles auswählen
EnableExplicit
;================
;– Programmbeginn
;================
Enumeration
#Window_Haupt
#btnText
#edtAusgabe
#cntContainer
EndEnumeration
;– Definitions
Global EventID
;– Declarations of procedures
Declare Open_Main_Window()
;– Constants
#version = "0.1"
Procedure Open_Main_Window()
If OpenWindow(#Window_Haupt, #PB_Ignore, #PB_Ignore, 480, 540, "AGI " + #version, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
;– Create GadgetList
ContainerGadget(#cntContainer, 0, 0, 480, 515, #PB_Container_Raised)
ButtonGadget(#btnText, 10, 470, 95, 20, "Text hinzufügen")
EditorGadget(#edtAusgabe, 10, 165, 458, 295, #PB_Editor_WordWrap)
CloseGadgetList()
AddGadgetItem(#edtAusgabe, -1, "PureBasic soll sehr gut sein, habe ich mir sagen lassen.")
EndIf ;OpenWindow
EndProcedure
;===========
;- Hauptteil
;===========
Open_Main_Window()
Repeat
;– Ereignisse
EventID = WindowEvent()
;– Fenster
If EventID = #PB_Event_CloseWindow
If WindowID(#Window_Haupt)
CloseWindow(#Window_Haupt)
End
EndIf
Else
Delay(1) ;Verhindert unnötige CPU-Auslastung
EndIf
If EventGadget() = #btnText
AddGadgetItem(#edtAusgabe, -1, "PureBasic ist sehr gut, wie ich aus eigener Erfahrung weiß.")
; If AddGadgetItem(#edtAusgabe, -1, "PureBasic ist sehr gut, wie ich aus eigener Erfahrung weiß.")
; MessageRequester("Information", "Das hat geklappt!", #PB_MessageRequester_Info)
; Else
; MessageRequester("Information", "Das war nichts!", #PB_MessageRequester_Info)
; EndIf
EndIf
Until EventID = #PB_Event_CloseWindow
;==============
;- Programmende
;==============
End