![]() |
COM interop mit einer C# Library mit WPF und COM
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, folgendes Problem hat sich bei uns ergeben:
Ziel Erstellung eines COM-Objektes, welches WPF Fenster anzeigen kann. Diese Fenster sollen von anderen Programmen via COM eingebunden werden und angezeigt werden können. Dazu wurde eine WPF-Library erstellt, welche über eine Klasse einen Methodenaufruf via COM nach außen gibt. Dieser Methodenaufruf zeigt bei Aufruf ein Fenster an. Problem Wird diese COM-Objekt in einer Delphi Win32 Anwendung instanziiert und anschließend die „ZeigeFenster an“ Methode aufgerufen, dann beendet sich die Delphi Anwendung sofort. Wird die gleiche Tätigkeit z.B. in Word.VBA gemacht, wird das Fenster problemlos anzeigt. Weitere Informationen Wenn die Anwendung im WinDgb gestartet wird. Bricht diese mit einer Exception ab.
Code:
(2b4.244): Unknown exception - code c0000090 (first chance)
Die Beispiele liegen bei. Der vollständige Windbg-Dump ebenfalls. Fragen Was verursacht den Absturz? Wie kann dieser vermieden werden? |
AW: COM interop mit einer C# Library mit WPF und COM
Tritt der Fehler auch unter Win7 auf?
c0000090? Errinert an eine Gleitkommaexception? Hilft es was die 8087-Exception-Mask zu setzen? |
AW: COM interop mit einer C# Library mit WPF und COM
Streng genommen müsste das eine div by 0 Exception sein.
Das mit der Mask überschreitet meine Fähigkeiten mit dem windgb umzugehen. Win7 habe ich nicht probiert, da WinXp die Plattform ist. |
AW: COM interop mit einer C# Library mit WPF und COM
[QUOTE=generic;1149479]Das mit der Mask überschreitet meine Fähigkeiten mit dem windgb umzugehen.
Brauchst du auch nicht. Ergänz in deinem Code mal folgende Zeile:
Delphi-Quellcode:
Bei mir haben Koponenten die OpenGL verwenden mit dieser Exception-Mask nicht mehr "gekracht". Dürfte bei DirectX-Komponenen (wie WPF ja ist) auch so sein das man eigentlich davon ausgeht das man solche "Div by 0" nicht als harte Exception ignoriert (Ist auch z.B. bei Spielen egal ob mal ein Pixel für 1 ms mal die falsche Farbe hat).
SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision]); Zitat:
|
AW: COM interop mit einer C# Library mit WPF und COM
Guter Tipp. Das mit der ExceptionMask hat geholfen.
Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz