Seite 2 von 2

Re: Wieder mal die Umlaute

Verfasst: 15.03.2015 04:28
von ts-soft
Vielleicht solltest Du mal UTF-8 als standard in allen Deinen PB Versionen einschalten? Vor allem wenn Du den FormDesinger nutzt.
Wenn die Hauptdatei ASCII verwendet, dann funktioniert es nicht. Und wenn Du dann nach ASCII wechselt, dann Funktioniert es,
aber im FormDesinger nicht. Der wechselt seine Codierung noch nicht mit der restlichen IDE (und wird dies wohl auch nie tun :mrgreen: )

Fehler ist bekannt und braucht nicht mehr gemeldet zu werden und betrifft auch nur die IDE im Zusammenhang mit dem FormDesinger.

Re: Wieder mal die Umlaute

Verfasst: 15.03.2015 12:24
von derschutzhund
Also inzwischen ist absolut klar, dass es nicht an XP liegt.
Da ich bisher halt immer mit 5.24 gearbeitet habe ist es mir bei 5.31 erst nicht aufgefallen.
Da ich jetzt nicht genau weiß, wie genau der gemeldete Fehler aussieht hier nochmal die Fehlerbeschreibung
wie ich sie jetzt eingrenzen konnte:

1. Mit dem Formdesigner wird ein Formulat *.pbf erzeugt
2. Sowohl für das Programm (.pb) als für die *.pbf-Datei ist als Dateiformat Utf-8 eingestellt.
3. Wird ein Formular in der grafischen Ansicht (Design) abgespeichert dann ist die Anzeige in der EXE fehlerhaft
4. Wird in die Code-Ansicht des Formulars gewechselt und dann gespeichert ist die Anzeige in der EXE korrekt!!!

Das Problem kommt daher, dass beim Speichern aus der Designansicht dieser Infoblock am Ende der Datei nicht angehängt wird:

Code: Alles auswählen

; IDE Options = PureBasic 5.31 (Windows - x86)
; CursorPosition = 36
; Folding = -
; EnableUnicode
; EnableThread
; EnableXP
; DisableDebugger
Wird es in der Codeansicht gespeichert ist dieser Block vorhanden und alles wird richtig angezeigt.

Das kann man doch nicht irgendwo extra aktivieren, dass der Block aus der Designansicht auch erzeugt wird oder?

LG

Wolfgang

Re: Wieder mal die Umlaute

Verfasst: 15.03.2015 12:45
von ts-soft
Ignorierst Du mich oder hab ich mich schlecht ausgedrückt?
Der FormDesigner speichert je nach Version, normal UTF-8. Der FormDesigner Code ist also in UTF-8 codiert.
Wenn aber die Hauptdatei, eine andere als die FormDesigner-Datei, was bei einer Exe normal sein sollte, kann
es sein, das diese in ASCII codiert ist und der includierte Teil des Formdesigner dann falsch encodiert ist. Diese
Datei wird im Gegensatz zu den anderen Files in PB nicht mit umgewandelt!

Problem ist bekannt, wird wohl spätestens mit der Version, von PB die nur noch Unicode kann, gefixed sein.

Solange einfach alle Dateien in einer Codierung halten (UTF-8), als *.pbf, *.pbi ,*pb. und schon existiert dieses Problem nicht mehr!
(Diese Einstellung ist per Datei erlaubt, was bei Designer-Dateien das Problem verursacht, alle Dateien werden automatisch gewandelt,
aber Designer-Dateien nicht. Die bleiben in UTF-8.)

Ich hoffe mal, das dies jetzt klarer war ansonsten geb ich einfach auf :mrgreen:

PS: Diese Einstellungen werden nicht unbedingt am ender der PB-Sourcen gespeichert. Richtig ist, das hierbei die Einstellung des
FormDesigners ignoriert wird, was aber nicht das eigentliche Problem ist.

Re: Wieder mal die Umlaute

Verfasst: 15.03.2015 13:02
von derschutzhund
Ignorierst Du mich oder hab ich mich schlecht ausgedrückt?
Also ich ignoriere dich bestimmt nicht!
Wenn aber die Hauptdatei, eine andere als die FormDesigner-Datei, was bei einer Exe normal sein sollte, kann
es sein, das diese in ASCII codiert ist und der includierte Teil des Formdesigner dann falsch encodiert ist. Diese
Datei wird im Gegensatz zu den anderen Files in PB nicht mit umgewandelt!
Ich glaube, ich hatte doch klar geschrieben, dass das Dateiformat der Hauptdatei auch in UTF-8 codiert ist!

Ich verstehe das jetzt so, dass es in 5.31 mit dem Formdesigner nur funktioniert wenn ich jedesmal vor dem Speichern in die Codeansicht wechsle und dann speichere?

LG

Wolfgang

Re: Wieder mal die Umlaute

Verfasst: 15.03.2015 13:31
von ts-soft
Ich habe bei mir seit Jahren grundsätzlich UTF-8 als Dateiformat und UNICODE als Sourceformat eingestellt. Dies sollte man als
Vorgabe in den Compileroptionen machen. Zusätzlich nochmal im Datei/Dateiformat überprüfen.

Diese Einstellung sollte eigentlich immer funktionieren, aber der Teufel steckt wohl im Detail. Ich arbeite auch zu wenig mit dem
FormDesigner, enthält mir noch zu viele Fehler oder fehlende Funktionen und wird wohl dauern, bis da noch mal was passiert.
Vielleicht übersehe ich da auch etwas, auf jeden fall ist der Fehler im engl. Forum gemeldet (mehrmals), so das er bekannt ist.

Wenn Du also ein Workaround hast, dann nutze es, es kann dauern bis der Fehler gefixt wurde (ich denke mal, wenn nur noch
UNICODE in den Compileroptionen möglich ist).

Ich persönliche komme im allg. ohne jeglichen FormDesigner aus, das macht so manches einfacher :mrgreen:

Gruß
Thomas

Re: Wieder mal die Umlaute

Verfasst: 19.03.2015 11:07
von ts-soft
Hier noch ein kleiner Nachtrag (gerade im engl. Forum gefunden):
http://www.purebasic.fr/english/viewtop ... 04#p434204

Re: Wieder mal die Umlaute

Verfasst: 19.03.2015 19:56
von derschutzhund
Ok, das ist genau der Fehler!
Der eine Kollege kommt ja genau auf das gleiche workaround wie ich.
Sonst nichts Neues!

Dann hoffen wir mal, dass in der nächsten Version das Problem behoben ist.
Ich verwende den FormDesigner sehr gerne und bisher hat auch immer alles funktioniert.
Ich trage halt nur nie etwas von Hand, also in der Codeansicht ins Formular ein.
Das mag der FormDesigner überhaupt nicht. Wenn man das unterlässt ist alles ok und die gewünschte Oberfläche sehr schnell erstellt. Zusätzlich habe ich mit meinem eigenen kleinen Tool NDW ja die Verbindung zwischen Fomular und Code erstellt dann geht es noch schneller!
Im Grunde könnte ich ja auch erst mal mit 5.24 weiter arbeiten bis der Fehler in einer der nächsten Version behoben ist.

LG

Wolfgang