J'ai un programme delphi héritage et que vous souhaitez ajouter un peu de contenu mis en œuvre avec WPF. Donc, je encapsule le contrôle WPF avec une technologie d'interopérabilité .NET/ActiveX. Cela signifie quelque chose comme: [ComRegisterFunction()] public static void RegisterClass(string key); [ComUnregisterFunction()] public static void UnregisterClass(string key);
Le composant ActiveX .NET avec le contenu WPF ne peut pas être chargé par l'application non MFC
Le composant activeX est un contrôle utilisateur WinForms et les matériaux WPF sont attachés à un ElemenHost dans ce contrôle utilisateur.
Cela fonctionne très bien si l'application hôte de cet ActiveX est un programme MFC même sans commutateur/clr. Mais mon application héritée est un programme Delphi, et elle lance toujours une exception stackoverflow à la première ligne du constructeur de mon contrôle utilisateur WPF au démarrage du programme.
le message montre par exception est: An unhandled exception of type 'System.StackOverflowException' occurred in PresentationFramework.dll
Je n'ai pas la moindre idée, Google est d'aucune aide. et cela m'a intrigué pendant des jours.
Merci pour votre réponse, je vais essayer de cette façon. A propos de la trace de la pile, il s'agit d'un appel infini imbriqué dans 'ntdll.dll', sans nom de fonction. – Hugo