AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi COM interop mit einer C# Library mit WPF und COM
Thema durchsuchen
Ansicht
Themen-Optionen

COM interop mit einer C# Library mit WPF und COM

Ein Thema von generic · begonnen am 2. Feb 2012 · letzter Beitrag vom 7. Feb 2012
Antwort Antwort
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#1

COM interop mit einer C# Library mit WPF und COM

  Alt 2. Feb 2012, 17:37
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)
  • Delphi 2007
  • Betriebssystem Windows XP SP3
  • C#
  • Visual Studio 2010

Die Beispiele liegen bei. Der vollständige Windbg-Dump ebenfalls.

Fragen
Was verursacht den Absturz?
Wie kann dieser vermieden werden?
Angehängte Dateien
Dateityp: zip WpfComProblem.zip (188,9 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: COM interop mit einer C# Library mit WPF und COM

  Alt 2. Feb 2012, 17:41
Tritt der Fehler auch unter Win7 auf?

c0000090? Errinert an eine Gleitkommaexception? Hilft es was die 8087-Exception-Mask zu setzen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#3

AW: COM interop mit einer C# Library mit WPF und COM

  Alt 6. Feb 2012, 15:36
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.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: COM interop mit einer C# Library mit WPF und COM

  Alt 6. Feb 2012, 15:48
[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:
  SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide,
                   exOverflow, exUnderflow, exPrecision]);
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).

Win7 habe ich nicht probiert, da WinXp die Plattform ist.
WPF und XP - Supper Kombi. Sind mittlerweile die XP-Grafikkartentreiber schon so gut das es hier nicht eh permanent kracht?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#5

AW: COM interop mit einer C# Library mit WPF und COM

  Alt 7. Feb 2012, 09:23
Guter Tipp. Das mit der ExceptionMask hat geholfen.

Danke
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz