J'ai un problème avec les objets COM et les événements déclencheurs. J'ai:Problème lors du déclenchement d'événements dans une DLL .NET via COM depuis Delphi
- une DLL écrite en C# .NET (3.5), ce qui déclenche des événements
- une application dans Delphi5, qui utilise la DLL comme un objet COM.
Jusqu'ici tout va bien. Les événements vont comme ceci: - dans la DLL il y a 2 événements. L'un est interne et n'est pas COM-visible. Le second est externe et est visible par COM - il existe également une fonction OnChanged dans la DLL, qui est connectée à l'événement interne et déclenche l'événement externe. Donc, fondamentalement, chaque fois que l'événement interne est déclenché, l'événement externe l'est également. - cette fonction onChanged est également COM visible et peut être appelé à partir de l'application Delphi
J'utilisé this solution pour obtenir le travail toute chose, je peux lier avec succès une procédure Delphi à l'événement .NET, mais il y a un hic: - si j'appelle OnChanged de l'application Delphi, tout est peachy - la fonction Delphi liée sera exécutée ainsi que (évidemment) la fonction .NET - si la DLL appelle OnChanged à partir d'une fonction de rappel dans .NET, la fonction Delphi liée ne sera pas exécuté. Bottomline: si je déclenche l'événement externe à partir de Delphi, tout est OK. Si la DLL déclenche l'événement interne, rien ne se passera dans Delphi (bien que l'événement externe soit bien sûr déclenché).
Toutes les idées sont très appréciées!
Pouvez-vous fournir du code et confirmer que vous avez fait tout ce qui a été donné dans la réponse du sujet StackOverflow que vous avez donné? –
Voici un exemple complet pour vous aider à démarrer http://www.systemwidgets.com/Blog/tabid/61/articleType/ArticleView/articleId/271/C-COM-server-to-Delphi-COM-clients.aspx –