OVH Cloud OVH Cloud

Importation de dll

7 réponses
Avatar
Stephanie
Dans mon project C#, j'ai ajout=E9 une dll en r=E9f=E9rence de=20
mon projet. Toutes les m=E9thodes et =E9v=E9nements apparaissent=20
(je les voient bien dans l'explorateur d'objets) sauf un=20
=E9v=E9nement li=E9 =E0 une m=E9thode.=20
D'autres =E9v=E9nements du m=EAme type sont pr=E9sents et=20
utilisables.
Or quand j'importe ma dll dans un projet VB.NET, cet=20
=E9v=E9nement apparait bien.
Quelle est la diff=E9rence ? Comment pouvoir utiliser mon=20
=E9v=E9nement ?

7 réponses

Avatar
Paul Bacelar
L'événement ne doit pas être public mais interne à l'assembly.

Si vous avez les sources de l'assembly, il suffit de mettre un public devant
l'événement.
--
Paul Bacelar
Développeur, Consultant, Expert en technologie de développement Microsoft.
Recherchant poste CDI/CDD/FREELANCE.


"Stephanie" a écrit dans le message de
news:2432301c45f46$c921c700$
Dans mon project C#, j'ai ajouté une dll en référence de
mon projet. Toutes les méthodes et événements apparaissent
(je les voient bien dans l'explorateur d'objets) sauf un
événement lié à une méthode.
D'autres événements du même type sont présents et
utilisables.
Or quand j'importe ma dll dans un projet VB.NET, cet
événement apparait bien.
Quelle est la différence ? Comment pouvoir utiliser mon
événement ?
Avatar
Stephanie
Malheureusement j'aurais bien aimé mais ce n'est pas le
cas. D'ailleurs en VB.NET il apparait. ça vient de
l'interpretation en C# surement.
Voila mon code
*****************************************
IPSRApplicationEventsHandlerAfterSave = new
UnityProServer.DIApplicationEvents_AfterSaveEventHandler
(oApp_AfterSave);

IPSRApplicationEventsHandlerAfterBuildComplete =
new
UnityProServer.DIApplicationEvents_AfterBuildCompleteEventH
andler(oApp_AfterBuildComplete);

IPSRApplicationEventsHandlerDisplayStop = new
UnityProServer.DIApplicationEvents_DisplayStopEventHandler
(oApp_DisplayStop);

IPSRApplicationEventsHandlerDisplayStart = new
UnityProServer.DIApplicationEvents_DisplayStartEventHandler
(oApp_DisplayStart);

IPSRApplicationEventsHandlerAfterSaveAs = new
UnityProServer.DIApplicationEvents_AfterSaveAsEventHandler
(oApp_AfterSaveAs);

ConnectUnityPro.oApp.DisplayStop +=
IPSRApplicationEventsHandlerDisplayStop;

ConnectUnityPro.oApp.DisplayStart +=
IPSRApplicationEventsHandlerDisplayStart;

ConnectUnityPro.oApp.AfterSave +=
IPSRApplicationEventsHandlerAfterSave;

ConnectUnityPro.oApp.AfterBuildComplete +=
IPSRApplicationEventsHandlerAfterBuildComplete;

ConnectUnityPro.oApp.AfterSaveAs +=
IPSRApplicationEventsHandlerAfterSaveAs;
*******************************************************

DisplayStart ne marche pas c le seul qui n'a pas
l'evenement.


-----Message d'origine-----
L'événement ne doit pas être public mais interne à


l'assembly.

Si vous avez les sources de l'assembly, il suffit de


mettre un public devant
l'événement.
--
Paul Bacelar
Développeur, Consultant, Expert en technologie de


développement Microsoft.
Recherchant poste CDI/CDD/FREELANCE.


"Stephanie" a écrit


dans le message de
news:2432301c45f46$c921c700$
Dans mon project C#, j'ai ajouté une dll en référence de
mon projet. Toutes les méthodes et événements apparaissent
(je les voient bien dans l'explorateur d'objets) sauf un
événement lié à une méthode.
D'autres événements du même type sont présents et
utilisables.
Or quand j'importe ma dll dans un projet VB.NET, cet
événement apparait bien.
Quelle est la différence ? Comment pouvoir utiliser mon
événement ?


.



Avatar
Patrick Philippot
Stephanie wrote:
DisplayStart ne marche pas c le seul qui n'a pas
l'evenement.



Bonjour,

Vous est-il possible de m'envoyer cette DLL (le binaire suffira)? La DLL
est bien développée en C#?

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Stephanie
En fait cette dll a ete faite en C++ utilisant des objets
COM.
C un problème a son niveau, pourquoi ne le fait elle pas
en VB.NET ?
(pour les sources je ne peux pas les envoyer ...)


-----Message d'origine-----
Stephanie wrote:
DisplayStart ne marche pas c le seul qui n'a pas
l'evenement.



Bonjour,

Vous est-il possible de m'envoyer cette DLL (le binaire


suffira)? La DLL
est bien développée en C#?

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr


.



Avatar
Patrick Philippot
Stephanie wrote:
En fait cette dll a ete faite en C++ utilisant des objets
COM.
C un problème a son niveau, pourquoi ne le fait elle pas
en VB.NET ?



Je ne suis plus très sûr de suivre: c'est une DLL écrite en C++ managé
et faisant elle-même référence à des composants COM? C'est ça?

Ou bien c'est une DLL non .Net qui expose directement des objets COM (ce
qui suppose que vous avez créé la référence via l'onglet COM de la boîte
de dialogue Références)?

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr
Avatar
oui c bien c'est une DLL écrite en C++ managé
et faisant elle-même référence à des composants COM

-----Message d'origine-----
Stephanie wrote:
En fait cette dll a ete faite en C++ utilisant des




objets
COM.
C un problème a son niveau, pourquoi ne le fait elle pas
en VB.NET ?



Je ne suis plus très sûr de suivre: c'est une DLL écrite


en C++ managé
et faisant elle-même référence à des composants COM?


C'est ça?

Ou bien c'est une DLL non .Net qui expose directement des


objets COM (ce
qui suppose que vous avez créé la référence via l'onglet


COM de la boîte
de dialogue Références)?

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr


.



Avatar
Patrick Philippot
wrote:
oui c bien c'est une DLL écrite en C++ managé
et faisant elle-même référence à des composants COM



Dans ce cas, je réitère ma demande d'examen de la DLL. Je n'ai besoin ni
des sources, ni des composants dont la DLL dépend.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr