DllImport avec un activeX? Besoin de secours urgent!

Signaler
Messages postés
5
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
24 août 2016
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,



Voici mon problème, j'essaie d'importer un ActiveX de tierce partie
dans un web service que je suis en train de créer. Cependant, je
ne peux qu'instancier une classe, je ne suis même pas en mesure
d'utiliser les méthodes et propriétés de ce ActiveX. J'ai lu par
rapport à l'Interop, mais je ne saisis pas tout. J'ai lu aussi
par rapport au DllImport, mais ça ne semble pas fonctionner.



J'ai réalisé un ActiveX bidon que je veux importer dans un web service
et cela me procure la même erreur. Voici une fraction de mon code:



[WebMethod(true)]

public string Init()

{

try

{

totoClass test = new totoClass();

int resultat;


resultat = test.ReturnLong(3,4); // Ça plante ici!!!



return resultat.ToString();




}

catch(Exception e)

{

string Erreur;



Erreur = e.Message + "***";

Erreur += e.Source + "***";

Erreur += e.StackTrace + "***";

Erreur += e.ToString() +"***";

Erreur += e.InnerException + "|||";




return Erreur;

}



}



SVP: J'ai besoin d'aide et rapidement!



Merci



Nick - Commence à être désespéré

5 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
Salut,

"Ça plante ici!!! "
Ok, mais quelle erreur ?

/*
coq
MVP Visual C#
*/
Messages postés
5
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
24 août 2016

Désolé pour le temps de réponse...



Voici l'erreur:

System.Runtime.InteropServices.COMException (0x8000FFFF):
Catastrophic failure at System.RuntimeType.ForwardCallToInvokeMember(String
memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes,
MessageData& msgData) at test.ReturnLong(int a, int b) at
HelloService.HelloService.Init() in
c:\inetpub\wwwroot\firstwebservice\main.asmx.cs:line 95


Quelqu'un peut-il m'aider?



Cela fait 3 semaines que j'essaie de régler le problème à temps plein et je coûte cher!


Nicolas Bourré
Développeur et Enseignant en informatique
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
Ce ne serait pas un problème d'autorisation ?
Le compte ASPNET est relativement limité.
Même si tu utilise l'"impersonification" pour le thread du web service, rien ne garantit que le composant en bénéficie, et il tourne probablement avec les droits de l'utilisateur qui a lancé le process, à savoir ASPNET.

/*
coq
MVP Visual C#
*/
Messages postés
5
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
24 août 2016

Comment pourrais-je contourner ce problème de façon "clean"? Nous
avons essayé plusieurs méthodes différentes, soit en utilisant un
serveur d'automation, un ATL Web Service, etc., mais en vain! On
ne comprend vraiment pas pourquoi. On a lu sur un site que cela
pouvait avoir rapport avec les thread, on a lu les instructions, mais
cela n'a rien donné. Toujours les deux mêmes erreurs, soit celle
mentionné dans mon dernier message ou encore
System.OutofMemoryException (quelque chose de ce genre).

Nicolas Bourré
Développeur et Enseignant en informatique
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
Désolé je n'y connais aboslument rien en dev ActiveX.
Ils parlent d'un problème similaire ici : http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=98550&SiteID=1

/*
coq
MVP Visual C#
*/