Fehlermeldungen in falschen Zeichensatz

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Antworten
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Fehlermeldungen in falschen Zeichensatz

Beitrag von hschmidt »

Hallo,

nachdem ich mein Programm komplett auf ANSI umgestellt habe, habe ich nur noch ein Problem: in Xbase++-Fehlermeldungen werden Umlaute falsch angezeigt, z. B. (Auszug aus meiner Error-Logdatei, die Bildschirmmeldung sieht genauso aus):

Code: Alles auswählen

oError:cargo        : NIL
oError:description  : Datei oder Datensatz muá f
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Hans,

ist das die Original Errordatei, oder hast Du die mit einem Editor schon mal bearbeitet?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

Hmmm, ich hab meine Anweindungen auch komplett auf ANSI umgestellt, aber das Problem mit den "falschen" Fehlermeldungen habe ich nicht.

Nur so also Idee: Hast Du denn die Errorsys.prg neu kompiliert mit eingebunden?

Jan
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Jan,

doppelt fragen hat immer schon gut geholfen :lol: :lol:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

OK, hab jetzt im Grippefieberwahn nicht Deine "Errordatei" mit der Errorsys assoziiert. Sorry.

Ein tief verschnupfter, hustender, augentränender und was sonst noch so dazugehörter Jan
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Ach Jan,

das ist doch nicht wahr. Auf dem Avatar siehst Du recht gesund aus.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

... wie immer: Mehr Schein als Sein...

Jan
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Beitrag von hschmidt »

Hallo,

@ Manfred:
ist das die Original Errordatei, oder hast Du die mit einem Editor schon mal bearbeitet?
wenn Du damit die .log-Datei meinst, da habe ich den Teil mit den falschen Umlauten ausgeschnitten, aber wie gesagt, die Meldung sieht auf dem Bildschirm genauso aus.

@ Jan:
ich habe eine eigene Datei für die Fehlerbehandlung, aber der Hinweis ist gut, ich werde probeweise mal die Original - Errorsys.prg einbinden und berichte anschließend, was passiert.


Hans
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Hans,

ich meinte die errorsys.prg. Anfänglich, als die VX noch nicht verfügbar war, hatte ich einen anderen Editor, der zwar die Umlaute anzeigte, aber im Programm nachher entsprechend den falschen Zeichensatz hatte.

@Jan,

wie man sieht, sei Dir vergeben, ich hatte mich wirklich sehr undeutlich ausgedrückt :?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Beitrag von hschmidt »

Hallo,

ich habe das jetzt mit der Original-Errorsys.prg versucht und komme zum gleichen (falschen) Ergebnis.
Hier die komplette xpperror.log:

Code: Alles auswählen

------------------------------------------------------------------------------
FEHLERPROTOKOLL von "C:\TPW741\BIN32\TPX\BIN\xmig.exe" Datum: 06.06.2008 09:26:49

Xbase++ Version     : Xbase++ (R) Version 1.90.331
Betriebssystem      : Windows XP 05.01 Build 02600 Service Pack 2
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: C VALUE: Blubb
oError:canDefault   : N
oError:canRetry     : N
oError:canSubstitute: J
oError:cargo        : NIL
oError:description  : Datei oder Datensatz muá f
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

Hans,

es ging ja nicht um die original errorsys.prg, sondern darum, ob Du die mit ANSI compiliert einbindest. Du musst alles mit /ga kompilieren. Und die .arc mit -ga.

Wobei mir gerade einfällt: Die Fehlermeldungen sind ja garnicht in der errorsys.prg einprogrammiert. Hmmm, muß da mal drüber nachdenken (Fieber ist weg, aber Birne immer noch schwammig). Aber wie gesagt: Bei mir funktioniert es tadellos.

Jan
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Beitrag von hschmidt »

Jan,
es ging ja nicht um die original errorsys.prg, sondern darum, ob Du die mit ANSI compiliert einbindest. Du musst alles mit /ga kompilieren. Und die .arc mit -ga.
wie gesagt, die Compilerschalter hatte ich bereits ausprobiert, das macht keinen Unterschied.
Wobei mir gerade einfällt: Die Fehlermeldungen sind ja garnicht in der errorsys.prg einprogrammiert.
Genau! Das habe ich nämlich inzwischen herausgefunden. Diese Meldungen sind in der XPPNAT.DLL codiert. Wenn man sich die mit einem Resourceneditor ansieht (z.B. Reshacker) findet man darin die Systemmeldungen von Xbase++ - und zwar im OEM-Zeichensatz! Aber nicht alle, denn es gibt auch eine Meldung, die sich offensichtlich auf den Garbagecollector bezieht, die ist in ANSI codiert ("Fehler beim Aufräumen. \nBitte starten Sie die Anwendung neu, um möglichen Datenverlust zu vermeiden. \nTrotzdem sofort beenden?").

Jan, klappt das bei Dir wirklich? Hast Du mal die von mir oben angegebene Fehlermeldung provoziert? Oder hast Du eine andere Version der XPPNAT.DLL? Meine ist 1.90.331.0.

Ich denke, ich werde mich mit dieser Sache mal an ALASKA wenden.

Hans
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

Doch, z. B. Umlaute werden in meinen Fehlermeldungen korrekt angezeigt. Auch von des System-Fehlermeldungen.

Jan
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Beitrag von hschmidt »

Hallo,

ich habe dem Alaska-Support diesen Sachverhalt geschildert und folgende Antwort bekommen:
Die Resourcen für Xbase++ stecken in XppNat.dll. Text
resourcen liegen im OEM Format vor. Das ist so definiert.

Im Falle eines Laufzeitfehlers wird die Fehlermeldung in einer AlertBox oder
in einer MessageBox dargestellt und dann auch in die XppError.log Datei
geschrieben. Die Messagebox kann nur Ansi darstellen, wohingegen die
Alert Box auf OEM baut.

Das XppError.log enthält nur die Fehlerbeschreibung und ist somit eigentlich
eine OEM Datei.

Dass in dieser Resource Datei auch zwei Ansi Zeichenketten liegen ist
so gewollt und auch richtig. Sie werden damit keine Probleme bekommen.
Also konkret gesagt: wenn man die Fehlermeldungen korrekt auf dem Bildschirm ausgeben will, muß man ConvToAnsiCp(cFehlermeldung) machen.

Hans
Antworten