Archive for the ‘WPF’ Category

WPF Anwendung kann aus 16bit Umgebung heraus nicht gestartet werden

7 Januar 2010

Wenn man per eine 16bit Umgebung ausführt bzw. command.com direkt ausführt und dann aus dieser Umgebung heraus versucht eine WPF Anwendung zu starten, der bekommt einen AppCrash serviert.

Die Lösung des Problems in der 16bit Umgebung

set windir=C:\Windows

zu setzen, danach konnte die WPF Anwendung gestartet werden. Hintergrund dürfte die Suche nach den im System verfügbaren Zeichensätzen gewesen sein. Da windir nicht bekannt war, wurde c:\windows\fonts nicht gefunden.

Wenn man windir nicht per Commandline direkt setzen kann, dann muss die Zuordnung innerhalb der AUTOEXEC.NT erfolgen!

Werbeanzeigen

Debugging von .Net Framework Anwendungen wie WPF und WinForms und sogar Silverlight

7 Januar 2010

Immer mehr Programme verwenden das .Net Framework in seinen verschiedenen Ausprägungen. Was aber tun wenn ein Programm nicht funktioniert und sich nur mit einem Fehlerreport an MS verabschiedet?

Man kann mit dem Debugger WinDBG auf das betreffende Programm losgehen.

Eine kleine Einführung mit Beispiel wird hier beschrieben: http://blog.codemurai.de/2009/09/04/WinDbgTutorialFehlerursachenFin
denTeil1EinerSerie.aspx
. Das Beispiel geht aber von einer laufenden Anwendung aus, auf die man sich aufschalten möchte.

Oftmals hat man jedoch den Fall, dass man eine Anwendung startet und es kommt gleich die entsprechende Crashmeldung. Bei dieser Situation startet man zuerst WinDBG und ruft dann das zu startende Programm über File->Open Executable auf. In diesem Fall bekommt man bei Aufruf von

.loadby sos mscorwks

allerdings die Meldung “unable to find module” angezeigt.

Das laden des Moduls kann man mit dem Befehl

sxe ld:mscorlib
g
.loadby sos mscorwks

erzwingen.

Danach funktioniert das Debuggen wie unter obigem Blogeintrag beschrieben.

Hinweis: Diejenigen mit langsamer Internetverbindung müssen sich aber beim ersten Aufruf der Funktionen in WinDBG gedulden, da zuerst die nötigen Symboldateien heruntergeladen werden müssen.

Weitere nützliche WinDBG Befehle für SOS findet man hier:
http://geekswithblogs.net/.netonmymind/archive/2006/03/14/72262.aspx

sowie in der offiziellen Referenz unter: http://msdn.microsoft.com/de-de/library/bb190764.aspx

Man kann sogar Silverlight Anwendungen damit debuggen: http://debuggingblog.com/wp/2009/06/02/silverlight-with-better-production-debugging-support-sosdll-in-coreclr-better-than-mscorwks/

PDF, SVG oder WMF in XAML konvertieren

30 März 2008

Viele PDF-Dokumente enthalten mittlerweile Vektorgrafiken die man in XAML für WPF oder Silverlight ganz einfach weiterverwenden könnte. Allerdings gibt es kein Programm, welches das Konvertieren von PDF nach XAML umsonst erlaubt.

Das Programm Inkscape http://www.inkscape.org/ erlaubt aber das Einlesen von PDF-Dateien, gerade als Vektorgrafiken, wenn diese im richtigen Format vorliegen.

Leider klappt das direkte Speichern im XAML-Format in der aktuell unter Windows verfügbaren Version 0.46pre3 nicht. Die Grafiken lassen sich jedoch problemlos als SVG speichern.

Mit dem Programm ViewerSVG von WPFGraphics (http://www.wpf-graphics.com/Home.aspx) lassen sich diese gespeicherte SVG-Dateien in XAML konvertieren.

WPFGraphics bietet noch ein anderes interessantes Programm an: Paste2XAML welches EMF und WMF-Dateien aus dem Windows Zwischenspeicher in XAML umsetzt. So können z. B. Balkendiagramme aus Excel, Wordart Elemente aus Word oder Office Cliparts in XAML umgewandelt.

Einziges Problem bei den ganzen Umwandlungen stellen die Schriften dar, welche oft auf dem Zielsystem nicht vorhanden sind.