GNT sans publicité, site mobile, fonctionnalitées exclusives...

Interop COM/.NET

Le
Matthieu STAELEN
Bonjour,
je dois faire appel à deux composants COM dans une Page ASP.NET.
Le fonctionnement est le suivant:
MonComLib.maClass a =
HttpContext.Current.Server.CreateObject("MA.Siganture") as
MonComLib.maClass;
// Cette ligne est OK l'object fonctionne
// c'est ici que cela ce complique.
MonDeuxiemeComLib.maSecondeClass b = a.CreeObject("TEST") as
MonDeuxiemeComLib.maSecondeClass;
// est la KO
en ASP sa marchais (c'est peut-etre lier au type variant)
Qq 1 a une idée?

Pour Info extrait de l'idl:
HRESULT CreeObject([in] BSTR monNom, [out, retval] LPDISPATCH *rObj);
Lire les 7 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thomas Marencic [MS]
Le #12515281
Bonjour,

peut-on avoir le détail de l'erreur?

Cordialement.
Thomas MARENCIC

"Matthieu STAELEN" news:
Bonjour,
je dois faire appel à deux composants COM dans une Page ASP.NET.
Le fonctionnement est le suivant:
MonComLib.maClass a > HttpContext.Current.Server.CreateObject("MA.Siganture") as
MonComLib.maClass;
// Cette ligne est OK l'object fonctionne...
// c'est ici que cela ce complique.
MonDeuxiemeComLib.maSecondeClass b = a.CreeObject("TEST") as
MonDeuxiemeComLib.maSecondeClass;
// est la KO
en ASP sa marchais... (c'est peut-etre lier au type variant...)
Qq 1 a une idée?

Pour Info extrait de l'idl:
HRESULT CreeObject([in] BSTR monNom, [out, retval] LPDISPATCH *rObj);






Matthieu STAELEN
Le #12515251
Message : Le cast spécifié n'est pas valide
COMPlusException : e0434f4d

vous voulez d'autre valeurs?

"Thomas Marencic [MS]" message de news: Ox8ci#
Bonjour,

peut-on avoir le détail de l'erreur?

Cordialement.
Thomas MARENCIC

"Matthieu STAELEN" news:
> Bonjour,
> je dois faire appel à deux composants COM dans une Page ASP.NET.
> Le fonctionnement est le suivant:
> MonComLib.maClass a > > HttpContext.Current.Server.CreateObject("MA.Siganture") as
> MonComLib.maClass;
> // Cette ligne est OK l'object fonctionne...
> // c'est ici que cela ce complique.
> MonDeuxiemeComLib.maSecondeClass b = a.CreeObject("TEST") as
> MonDeuxiemeComLib.maSecondeClass;
> // est la KO
> en ASP sa marchais... (c'est peut-etre lier au type variant...)
> Qq 1 a une idée?
>
> Pour Info extrait de l'idl:
> HRESULT CreeObject([in] BSTR monNom, [out, retval] LPDISPATCH *rObj);
>
>
>
>




Frederic Melantois
Le #12515241
Bonjour,

Si vous faîtes appel à des composants COM dans votre page ASP.NET, Vous
devez vous mettre en mode STA

directive de page : aspcompat=true

Plus de précisions ici :
http://fr.gotdotnet.com/quickstart/...terop.aspx

n'hésitez pas à utiliser l'utilitaire tlbimp.exe, c'est très pratique :
http://msdn.microsoft.com/library/f...impexe.asp

Frédéric Mélantois

"Matthieu STAELEN" news:
Bonjour,
je dois faire appel à deux composants COM dans une Page ASP.NET.
Le fonctionnement est le suivant:
MonComLib.maClass a > HttpContext.Current.Server.CreateObject("MA.Siganture") as
MonComLib.maClass;
// Cette ligne est OK l'object fonctionne...
// c'est ici que cela ce complique.
MonDeuxiemeComLib.maSecondeClass b = a.CreeObject("TEST") as
MonDeuxiemeComLib.maSecondeClass;
// est la KO
en ASP sa marchais... (c'est peut-etre lier au type variant...)
Qq 1 a une idée?

Pour Info extrait de l'idl:
HRESULT CreeObject([in] BSTR monNom, [out, retval] LPDISPATCH *rObj);






Matthieu STAELEN
Le #12515231
Oui, je l'avais deja fait... et pour la generation de l'assemblie j'utilise
VS.NET

"Frederic Melantois" news: cmqi3h$rrm$
Bonjour,

Si vous faîtes appel à des composants COM dans votre page ASP.NET, Vous
devez vous mettre en mode STA

directive de page : aspcompat=true

Plus de précisions ici :
http://fr.gotdotnet.com/quickstart/...terop.aspx

n'hésitez pas à utiliser l'utilitaire tlbimp.exe, c'est très pratique :



http://msdn.microsoft.com/library/f...impexe.asp

Frédéric Mélantois

"Matthieu STAELEN" news:
> Bonjour,
> je dois faire appel à deux composants COM dans une Page ASP.NET.
> Le fonctionnement est le suivant:
> MonComLib.maClass a > > HttpContext.Current.Server.CreateObject("MA.Siganture") as
> MonComLib.maClass;
> // Cette ligne est OK l'object fonctionne...
> // c'est ici que cela ce complique.
> MonDeuxiemeComLib.maSecondeClass b = a.CreeObject("TEST") as
> MonDeuxiemeComLib.maSecondeClass;
> // est la KO
> en ASP sa marchais... (c'est peut-etre lier au type variant...)
> Qq 1 a une idée?
>
> Pour Info extrait de l'idl:
> HRESULT CreeObject([in] BSTR monNom, [out, retval] LPDISPATCH *rObj);
>
>
>
>




Eric Vernié [MS]
Le #12515081
Bonjour Mathieu,

Va faire un tour du coté de la classe
System.Runtime.InteropServices.Marshal
tu trouveras sans doute ton bonheur pour indiquer à ASP.NET que tu utilises
l'interface IDispatch

exemple : essai un truc du style
CreeObjet(byval progid as string) As object

A+

Eric Vernié
Microsoft France


"Matthieu STAELEN" news:
Bonjour,
je dois faire appel à deux composants COM dans une Page ASP.NET.
Le fonctionnement est le suivant:
MonComLib.maClass a > HttpContext.Current.Server.CreateObject("MA.Siganture") as
MonComLib.maClass;
// Cette ligne est OK l'object fonctionne...
// c'est ici que cela ce complique.
MonDeuxiemeComLib.maSecondeClass b = a.CreeObject("TEST") as
MonDeuxiemeComLib.maSecondeClass;
// est la KO
en ASP sa marchais... (c'est peut-etre lier au type variant...)
Qq 1 a une idée?

Pour Info extrait de l'idl:
HRESULT CreeObject([in] BSTR monNom, [out, retval] LPDISPATCH *rObj);






Publicité
Suivre les réponses
Poster une réponse
Anonyme