Wieder mal die Umlaute

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Wieder mal die Umlaute

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Wieder mal die Umlaute

Beitrag 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
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Wieder mal die Umlaute

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Wieder mal die Umlaute

Beitrag 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
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Wieder mal die Umlaute

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Wieder mal die Umlaute

Beitrag von ts-soft »

Hier noch ein kleiner Nachtrag (gerade im engl. Forum gefunden):
http://www.purebasic.fr/english/viewtop ... 04#p434204
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Wieder mal die Umlaute

Beitrag 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
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Antworten