warnungen in shell

Antworten
lrlr
Beiträge: 127
Registriert: Di 3. Nov 2009, 09:48

warnungen in shell

Beitrag von lrlr »

hab ein (ehemals) delphi programm (es verwendet virtual treeview) nach lazarus (win32) portiert
und war dann "erstaunt" dass es auf Anhieb auch in linux funktionierte... (mit gtk2)

(lazarus, fpc, virtualtreeview usw. alles aktuellster stand aus svn)

allerdings kommen (unzählige) Warnungen und Errors ? im hintergrund in der shell

z.b.

Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
GLib-CRITICAL **: g_source_remove: assertion `tag > 0' failed

kann ich das irgendwie "beheben"?

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Re: warnungen in shell

Beitrag von theo »

Welches Codierung hat dein Quelltext? Es muss UTF-8 sein.

lrlr
Beiträge: 127
Registriert: Di 3. Nov 2009, 09:48

Re: warnungen in shell

Beitrag von lrlr »

vermutlich utf-8 (ich werde am Abend mal schauen)

aber mir fällte gerade ein: ich hab noch so eine art "hex-view" welches den Inhalt einer binär datei eben als HEX (x00) und "Text" anzeigt

was (im delphi noch gut funktioniert hat) aber im lazarus unter win32 schon nicht mehr (weil alle "steuerzeichen" usw. natürlich probleme machen...)

wie bekomme ich aus den binären daten alle "nicht druckbaren" ausgefiltert ??,und auch gleichzeitig (deutsche) umlatue -> utf-8

also zuerst filtern, nehme ich an, und dann umwandeln ...

was genau muss ich filtern ?

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Re: warnungen in shell

Beitrag von theo »

lrlr hat geschrieben: was (im delphi noch gut funktioniert hat) aber im lazarus unter win32 schon nicht mehr (weil alle "steuerzeichen" usw. natürlich probleme machen...)
Steuerzeichen sollten keine Problem machen. UTF-8 ist im ASCII Bereich (bis #127) mit ANSI/ASCII identisch.
Die Steuerzeichen sind im ASCII Bereich. Deshalb laufen Parser (HTML, Pascal) ohne Änderung mit UTF-8 weiter, weil diese nur mit dem ASCII Bereich arbeiten.

lrlr
Beiträge: 127
Registriert: Di 3. Nov 2009, 09:48

Re: warnungen in shell

Beitrag von lrlr »

"kein problem" ist relativ, "zeilenwechsel, tabulatoren" usw. sollen natürlich nicht als solches gedruckt werden, sondern als z.b. "leere box"

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Re: warnungen in shell

Beitrag von theo »

lrlr hat geschrieben:"kein problem" ist relativ, "zeilenwechsel, tabulatoren" usw. sollen natürlich nicht als solches gedruckt werden, sondern als z.b. "leere box"
Ich meinte bezüglich der Umstellung nach UTF-8. Was du sonst für Probleme hast, kann ich ja nicht wissen ;-)

Für den Ascii Bereich kannst du mit sets arbeiten à la:
if c in [#0...#32] then

Oder meine character.pas für den ganzen Unicode Bereich verwenden à la :
if TCharacter.IsLetter(s) then

http://wiki.lazarus.freepascal.org/Theodp" onclick="window.open(this.href);return false;

Antworten