none
Silverlight Sonderzeichen Darstellung RRS feed

  • Frage

  • Hallo Forum,

    ich weiß, dass Silverlight tot ist und trotzdem haben wir eine Applikation, die noch ein Jahr funktionieren muss. Danach wird sie durch eine andere Anwendung ersetzt. 

    Im Unternehmen wurde ein Windows Update durchgeführt auf 1809. Nach dem Update stürzt Silverlight immer ab, sobald ein Sonderzeichen dargestellt werden muss.

    Die Fehlermeldung:

    System.Exception: Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben.   bei MS.Internal.XcpImports.CheckHResult(UInt32 hr)   bei MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize)   bei System.Windows.FrameworkElement.MeasureOverride(Size availableSize)   bei System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)

    Wir haben ein kleines Testprojekt erstellt, in dem einfach nur ein Text in einen TextBlock geschrieben wird.

    Text: ".||• Wird X"

    Hat jemand eine Idee was fehlen könnte auf den Rechnern, die "upgedatet" wurden?

    Danke im Voraus.

    Grüße


    Dienstag, 24. September 2019 08:29

Alle Antworten

  • Hallo Forum,

    jetzt habe ich versucht den Text direkt im XAML einzutragen. Dort bekomme ich sofort die Fehlermeldung. Das passiert nicht auf den Rechnern ohne Update.

    Grüße

    Dienstag, 24. September 2019 09:05
  • Hi,

    ich glaube nicht, dass da was fehlt, sondern, dass mit dem Update 1809 anscheinend etwas im System geändert wurde, dass nun diesen Fehler verursacht.

    Ich denke nicht, dass Du daran was ändern kannst außer eben ohne diese Sonderzeichen zu leben, alternativ könntest Du es mal mit der Schreibweise &#<Zahl>; für deine Sonderzeichen probieren. Siehe dazu bspw.:

      https://wiki.selfhtml.org/wiki/Referenz:HTML/Zeichenreferenz

    Das sollte eigentlich in XAML auch funktionieren. Mangels Silverlight Testprojekt kann ich das dort aber leider grad nicht testen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Dienstag, 24. September 2019 10:46
  • Hi,

    vielen Dank für die schnelle Antwort. Es sollte nicht an der Windows Version liegen. Wir haben Kollegen, die einen Rechner gleich mit 1809 erhalten haben. Also ohne das Update zu installieren. Dort funktioniert es. Nur bei den Personen, die ein Upgrade durchgeführt haben. Dort tritt es auf.

    Dein Vorschlag wäre ein Workaround, den wir schon für bekannte Zeichen umgesetzt haben. Die Sonderzeichen brauche ich eigentlich auch nicht.

    Da ich aber nicht sicher sagen kann, welche Zeichen vom Benutzer eingegeben werden, müsste ich alle Sonderzeichen ersetzen. 

    Grüße

    Dienstag, 24. September 2019 11:53
  • Hi,

    dann würde ich mal eine der verfügbaren HtmlEncode Methoden probieren. Siehe bspw.:

      WebUtility.HtmlEncode Methode


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Dienstag, 24. September 2019 12:01
  • Hi,

    das haben wir schon versucht. Aber die Zeichen werden dadurch nicht encoded. Zum Beispiel auch ein "\t" bringt die Anwendung zum Absturz.

    VG

    Dienstag, 24. September 2019 13:58