PureBasic 4.20 Beta 3 WinVista 32 Bit StringGadget
PureBasic 4.20 Beta 3 WinVista 32 Bit StringGadget
Hallo mal an alle,
folgendes "Problem" tritt bei mir mit Windows Vista und PureBasic 4.20 Beta 3 auf, es ist zwar nur ein optischer Fehler, aber ich dachte, ich frag mal nach obs anderen auch so geht...
Wenn ich in einem Fenster ein Stringgadget mit dem Flag #PB_String_Numeric erstelle wird dieses auch ohne weitere Probleme in meinem Fenster dargestellt und die Begrenzung auf numerische Eingaben funktioniert auch. Wenn ich jedoch irgendeinen Buchstaben eingebe (was ja nicht erlaubt ist) erscheint ein Hinweis "Unzulässiges Zeichen, Sie können hier nur eine Zahl eingeben". Soweit so gut. Gebe ich jedoch ein paar Mal hintereinander ein unerlaubtes Zeichen ein, erscheint neben der Hinweissprechblase auch ein grausiger grauer Kasten genau in der Mitte meines Fensters, der eigentlich auf ein nicht ausgeführtes Redraw vermuten lässt. Allerdings läuft die Repeat-Schleife mit WindowEvent weiter, somit müssten eigentlich auch Redraws durchgeführt werden...
Genauere Angaben: Das StringGadget befindet sich in einem ContainerGadget und hat nur den Flag #PB_String_Numeric und einen voreingestellten Zahlenwert 0000000.
Vielleicht kann jemand den Fehler bestätigen oder eine kleine Hilfestellung geben?
Ach ja, unter PB 4.10 Final läuft der Code ebenfalls, der graue Kasten blitzt jedoch hier nur ganz kurz (bedeutend weniger als eine Sekunde) auf, wird jedoch sofort wieder durch das Fenster und die anderen Gadgets ersetzt.
Ansonsten wirklich erstklassige Arbeit vom PB-Team. Danke für eure konstant zuverlässige und gute Entwicklung.
folgendes "Problem" tritt bei mir mit Windows Vista und PureBasic 4.20 Beta 3 auf, es ist zwar nur ein optischer Fehler, aber ich dachte, ich frag mal nach obs anderen auch so geht...
Wenn ich in einem Fenster ein Stringgadget mit dem Flag #PB_String_Numeric erstelle wird dieses auch ohne weitere Probleme in meinem Fenster dargestellt und die Begrenzung auf numerische Eingaben funktioniert auch. Wenn ich jedoch irgendeinen Buchstaben eingebe (was ja nicht erlaubt ist) erscheint ein Hinweis "Unzulässiges Zeichen, Sie können hier nur eine Zahl eingeben". Soweit so gut. Gebe ich jedoch ein paar Mal hintereinander ein unerlaubtes Zeichen ein, erscheint neben der Hinweissprechblase auch ein grausiger grauer Kasten genau in der Mitte meines Fensters, der eigentlich auf ein nicht ausgeführtes Redraw vermuten lässt. Allerdings läuft die Repeat-Schleife mit WindowEvent weiter, somit müssten eigentlich auch Redraws durchgeführt werden...
Genauere Angaben: Das StringGadget befindet sich in einem ContainerGadget und hat nur den Flag #PB_String_Numeric und einen voreingestellten Zahlenwert 0000000.
Vielleicht kann jemand den Fehler bestätigen oder eine kleine Hilfestellung geben?
Ach ja, unter PB 4.10 Final läuft der Code ebenfalls, der graue Kasten blitzt jedoch hier nur ganz kurz (bedeutend weniger als eine Sekunde) auf, wird jedoch sofort wieder durch das Fenster und die anderen Gadgets ersetzt.
Ansonsten wirklich erstklassige Arbeit vom PB-Team. Danke für eure konstant zuverlässige und gute Entwicklung.
Service Packs sind dazu da, die Fehler zu verbessern, die vorher nicht richtig funktioniert haben!
Genauere Angaben zum Problem
Hallo auch,
sorry, hätt ja gleich was liefern können.
Hab jetzt mit einem kleinen Programmchen nochmal herumgetestet und hätte es fast nicht geschafft, den Fehler nachzustellen.
Letztendlich ist es mir dann doch gelungen.
Folgendes Programm:
Wichtig: Der Fehler tritt nur auf, wenn sich die beiden Stringgadgets in einem Container befinden und in den Compiler-Optionen die XP-Skin-Unterstützung eingeschaltet ist.
Sofern die XP-Skin-Unterstützung abgeschaltet ist, erscheint nämlich gar keine Sprechblase mit dem entsprechenden Hinweis, es erklingt nur der Standardsound und die Eingabe wird nicht angenommen.
Das führt mich jetzt zu dem Thema, ob man bei Programmen für Windows Vista generell die XP-Skin-Unterstützung abschalten sollte?
Allerdings was mach ich dann bei einem Programm, das für Windows XP und Windows Vista gedacht ist? Zwei execs?
Naja, das Problem ist ja jetzt wirklich auch nicht weltbewegend.
So long, Bamsagla.
sorry, hätt ja gleich was liefern können.
Hab jetzt mit einem kleinen Programmchen nochmal herumgetestet und hätte es fast nicht geschafft, den Fehler nachzustellen.
Letztendlich ist es mir dann doch gelungen.
Folgendes Programm:
Code: Alles auswählen
If OpenWindow(100,0,0,800,600,"Testfenster",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_Invisible)
If CreateGadgetList(WindowID(100))
ContainerGadget(50,10,10,780,580)
StringGadget(100,100,100,200,20,"TestString")
StringGadget(200,100,200,200,20,"0000000",#PB_String_Numeric)
CloseGadgetList()
EndIf
HideWindow(100,0)
Repeat
Select WindowEvent()
Case #PB_Event_CloseWindow
Ende = 1
Case 0
Delay(1)
EndSelect
Until Ende = 1
EndIf
Sofern die XP-Skin-Unterstützung abgeschaltet ist, erscheint nämlich gar keine Sprechblase mit dem entsprechenden Hinweis, es erklingt nur der Standardsound und die Eingabe wird nicht angenommen.
Das führt mich jetzt zu dem Thema, ob man bei Programmen für Windows Vista generell die XP-Skin-Unterstützung abschalten sollte?
Allerdings was mach ich dann bei einem Programm, das für Windows XP und Windows Vista gedacht ist? Zwei execs?
Naja, das Problem ist ja jetzt wirklich auch nicht weltbewegend.
So long, Bamsagla.
Service Packs sind dazu da, die Fehler zu verbessern, die vorher nicht richtig funktioniert haben!
Re: Genauere Angaben zum Problem
kein Thema! Also mit Deinem Code kann ich Dein Problem nichtBamsagla hat geschrieben:sorry, hätt ja gleich was liefern können.
nachvollziehen ("grausiger grauer Kasten").
Dafür bei mir verliert beim 2ten Tastendruck das StringGadget 200 seinen
3D-Rahmen und das StringGadget 100 verschwindet ganz.
Ich weiß nicht, was schlimmer ist: der grausige graue Kasten oder das
verschwindende Gadget. Auf jeden Fall scheint mir das ein fieser Redraw-Bug
in PB zu sein. In PB 4.1 tritt das bei mir übrigens nicht auf.
Grüße ... Kiffi
Hygge
Screenshot zum Fehler
Hallo Kiffi,
in diesem Beispiel ist es vielleicht auch nicht so toll ersichtlich, hab mal einen Screenshot von meinem Projekt beigefügt.
Hoff das zeigt jetzt, was ich mein.
Ciao, Bamsagla.
in diesem Beispiel ist es vielleicht auch nicht so toll ersichtlich, hab mal einen Screenshot von meinem Projekt beigefügt.
Hoff das zeigt jetzt, was ich mein.
Ciao, Bamsagla.
Service Packs sind dazu da, die Fehler zu verbessern, die vorher nicht richtig funktioniert haben!
Re: Screenshot zum Fehler
@Bamsagla: ich habe das mal mit meinen spärlichen Englischkenntnissen im
anderen Board gepostet: http://www.purebasic.fr/english/viewtop ... 641#239641
(ich hoffe, es ist einigermaßen verständlich, was ich da zusammengehackt habe)
Grüße ... Kiffi
anderen Board gepostet: http://www.purebasic.fr/english/viewtop ... 641#239641
(ich hoffe, es ist einigermaßen verständlich, was ich da zusammengehackt habe)
Grüße ... Kiffi
Hygge
Re: Screenshot zum Fehler
*push*
@Bamsagla: netmaestro hat einen Workaround gepostet. Kannste mal die
SetWindowLong_()-Zeile in Deinen Code einfügen und dann berichten, ob die
graue Box nun nicht mehr erscheint?
Grüße ... Kiffi
@Bamsagla: netmaestro hat einen Workaround gepostet. Kannste mal die
SetWindowLong_()-Zeile in Deinen Code einfügen und dann berichten, ob die
graue Box nun nicht mehr erscheint?
Code: Alles auswählen
ContainerGadget(50, [...]
SetWindowLong_(GadgetID(50),#GWL_STYLE,GetWindowLong_(GadgetID(50),#GWL_STYLE) &~ #WS_CLIPCHILDREN)
[...]
Hygge
Weitere Probleme unter XP
Guten Morgen Kiffi,
danke dir erst einmal für deine engagierte Hilfe.
Habe heute mal mein Projekt auf meinem XP-Arbeitsrechner ausprobiert.
Hier ist es noch viel schlimmer! Die kompletten Inhalte meines Containergadgets werden durch diesen Bug eliminiert und durch eine graue Fläche ersetzt. Ein Redraw wird nicht durchgeführt!
Ebenso konnte ich unter Windows Vista wie auch unter Windows XP das Problem feststellen, dass auch Frame3DGadgets in ContainerGadgets beim Programmstart und nach dem Minimieren nicht mit ihrer (bei mir weissen) Flächenfarbe dargestellt werden, sondern in ebenfalls dem gleichen grau.
Den Workaround hab ich mal gleich in mein Projekt eingefügt und auf alle ContainerGadgets angewandt; siehe da: weder die Probleme beim Frame3DGadget noch bei den "Reißern" durch den erwähnten #PB_String_Numeric-Bug.
Vielen dank auf jeden Fall für deine Hilfe, Kiffi. Allerdings hoffe ich trotzdem, dass eine Fehlerkorrektur (dann wohl für die ContainerGadgets?) den Weg in die PB 4.20 Final schafft, da die Probleme keineswegs in PB 4.10 aufgetreten sind.
EDIT: Hab gerade im englischen Forum gelesen, dass Fr34k im letzten Post auf deinen Topic dazu Stellung genommen hat und den Bug nachvollziehen konnte und eine Korrektur bereits vorgesehen ist.
Thanks to all!
danke dir erst einmal für deine engagierte Hilfe.
Habe heute mal mein Projekt auf meinem XP-Arbeitsrechner ausprobiert.
Hier ist es noch viel schlimmer! Die kompletten Inhalte meines Containergadgets werden durch diesen Bug eliminiert und durch eine graue Fläche ersetzt. Ein Redraw wird nicht durchgeführt!
Ebenso konnte ich unter Windows Vista wie auch unter Windows XP das Problem feststellen, dass auch Frame3DGadgets in ContainerGadgets beim Programmstart und nach dem Minimieren nicht mit ihrer (bei mir weissen) Flächenfarbe dargestellt werden, sondern in ebenfalls dem gleichen grau.
Den Workaround hab ich mal gleich in mein Projekt eingefügt und auf alle ContainerGadgets angewandt; siehe da: weder die Probleme beim Frame3DGadget noch bei den "Reißern" durch den erwähnten #PB_String_Numeric-Bug.
Vielen dank auf jeden Fall für deine Hilfe, Kiffi. Allerdings hoffe ich trotzdem, dass eine Fehlerkorrektur (dann wohl für die ContainerGadgets?) den Weg in die PB 4.20 Final schafft, da die Probleme keineswegs in PB 4.10 aufgetreten sind.
EDIT: Hab gerade im englischen Forum gelesen, dass Fr34k im letzten Post auf deinen Topic dazu Stellung genommen hat und den Bug nachvollziehen konnte und eine Korrektur bereits vorgesehen ist.
Thanks to all!
Service Packs sind dazu da, die Fehler zu verbessern, die vorher nicht richtig funktioniert haben!