Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme d'appel d'un "Form" DLL.NET depuis VBA [ Windows / ActiveX / COM ] (Pijay)

vendredi 9 mars 2007 à 12:47:50 | Probleme d'appel d'un "Form" DLL.NET depuis VBA

Pijay

Bonjour a tous,

Mon probleme est le suivant:

J'ai developpé une DLL .NET (bibliothèque de classe) dans laquelle se présente une méthode (pour concatener deux chaines) et un composant "Form" (IHM).

Je souhaite appeler les composants de ma DLL depuis VBA (Excel en particulier).

J'ai référencé ma DLL (ou plutot le fichier *.tlb) correctement et ma méthode de concatenation fonctionne tres bien.

En ce qui concerne ma Form, lorque je l'appel tout se passe bien. Ma feuille contient un bouton (cmd_IHM) qui appel ma form de la DLL au moment du clique.

Voici de quelle maniere j'instancie ma Form :

Private Sub cmd_IHM_Click()
On Error GoTo ErrHandler

    Dim my_form As Object
    Set my_form = CreateObject("Lib_2003.Form1")
    
    my_form.Visible = True

Exit Sub
ErrHandler:
    MsgBox Err.Number & " : " & Err.Description
End Sub

LE PROBLEME, se présente lorsque je la ferme. En effet, que ca soit avec la croix de fermeture ou à partir d'un bouton (implemeté avec Dispose() ou Close()) un message d'avertissement intervient :
                  


Lorque je clique "Continue", un message d'erreur s'affiche:
                  

Est-ce que quelqu'un aurait une idée au sujet de cette erreur. En effet mon application Excel "plante" et se ferme  a la suite de ce messages.... et je comprend pas poukoi? Est-ce due a conflit lors de la destruction du composant Form?

Informations supplementaires: Ma DLL à été développé en VB.NET (Visual Studio 2003)

Merci d'avance. Pijay.


vendredi 9 mars 2007 à 13:24:35 | Re : Probleme d'appel d'un "Form" DLL.NET depuis VBA

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

T'es le deuxième que je croise qui éssaie de faire mumuse avec du dotnet à partir du COM.

Ca a pas l'air vachement drôle.

Deux articles sur le problème : 1 et 2
Le trhead.

Bon courage.

vendredi 9 mars 2007 à 13:41:37 | Re : Probleme d'appel d'un "Form" DLL.NET depuis VBA

Pijay

Je vais y jeter un oeil..... ou meme deux.....

Merci de ton aide.

jeudi 31 mai 2007 à 18:39:40 | Re : Probleme d'appel d'un "Form" DLL.NET depuis VBA

Pijay

Réponse acceptée !
J'ai trouvé d'ou vient le probleme, je pense que ca peut aider certain.

Quelques notions:
En effet, les composant .Net sont géré par le CAS(Code Acces Security). En fonction de la stratégie de sécurité, les composants .Net n'ont pas le meme statut en fonction de l'endroit ou ils se trouvent. Par exemple, une DLL.Net n'a pas les memes droits en local que sur l'Intranet d'une entreprise. En effet, par defaut la politique de sécurité du .Net considere les composants d'un intranet (ou d'internet) comme des composants à confiance partielle ("Partially Trust").

Ce qu'il faut savoir, c'est que implicitement les applications ou librairies .Net font appel à des composants installés en local comme mscorlib.dll (GAC ou System32/). Ces composant (mscorlib.dll ou mscoree.dll par exemple) exigent d'etre appelé par des composants de confiance totale ("Full Trust"). Ce qui n'est pas le cas d'un composant placé sur le réseau (Intranet ou Internet).

Pour déployé une librairie.Net sur un réseau (d'entreprise par exemple), il faut obligatoirement avoir les droits d'administration sur les machines clients pour modifier la politique de sécurité du .Net Framework (utilisation du .Net Configuration Tool > voir méthode sur le net, il y en a plein)

Si vous ne posseder pas les droits d'administration (mon cas), vous etes obligé d'installer votre compsant.Net (dll) en local (pour qu'il soit considéré comme un composant "Full Trust").

Revenons a mon probleme :
En effet le probleme intervient avec ma form car elle fait appel a des dll (mscorelib.dll entre autres) pour se fermer. Les controles .Net sont régis par les dll installé en local (c:/ par ex.) et appel différentes méthodes utilisé dans les form.Net (fermeture d'un interface dans mon cas). Dans mon cas cela génere bien une exception de sécurité (Securtiy Exception) car ma dll.Net ne possede pas les droits (elle n'est pas "Full Trust" quand elle est sur le réseau).

Le probleme ne se pose pas avec la méthode de concatenation car c'est une fonction simple, ne faisant intervenir aucune librairie exterieures.

Donc voila, un petit résumé de plusieurs jours de recherche. Je sais pas si ca peut aider quelqu'un, mais vu la difficulté que j'ai eu à trouver des informations concretes sur le déploiement de DLL.Net, je prefere laisser ce post.

Merci à tous. Bye.



Cette discussion est classé dans : form, net, appel, probleme, dll


Répondre à ce message

Sujets en rapport avec ce message

Form Mdi dans un DLL [ par tiblay ] Bonjour a tous,Je cherche a appeler une fonction dans un DLL qui m'ouvre une form MDI, mais je ne suis pas capable de cree une form MDI dans le DLL.  [VB.NET] HELP - Probleme Renomage DLL [ par Danyelk ] Salut,J'ai besoin de renommer un projet dll dans une solution.Je vais donc dans les proprietes et je change le nom de l'assembly pour renommer le nom probleme de chemin DLL avec VB .NET [ par Ohlalala_ca_marche_pas ] Salut , Je me forme a VB .Net et j'utilise le compilateur en ligne de commande (j'ai pas encore visual Studio)je met tout dans un Repertoire (C:\VBDOT Appel de DLL [ par yvesmanuel ] Je débute en VB.NET.J'essaye comme je le fais dans tous les autres langages que je pratique un peu (VB6 C++ ou Delphi) d'appeler GetSystemMetrics sous probleme form mdi vb.net [ par yohan49 ] salut les gars , je voudrais savoir si possible comment je pourrais faire simplement pour designe un controle dans une form mdi dynamique reperer par Probleme d'affichage avec carts32.dll [ par caux ] Je suis entrain de faire un jeu de carte avec la cart32.dll, mais j'ai un problème d'affichage des que je change de form. ma routine fonctionne, mais probleme dll vb.net [ par patte ] Bonjour J'ai un probleme je n'arrive plus a appeler les dll e nvb net je m'explique je les mets dans les reference mais quand je lance le programme j probleme dll vb.net [ par patte ] Bonjour J'ai un probleme je n'arrive plus a appeler les dll e nvb net je m'explique je les mets dans les reference mais quand je lance le programme j Appel a une dll ecrite en C++ dans un projet VB2005 [ par mannou219 ] Salut,Je suis en train de developper une application en VB2005.Dans mon programme je dois faire appel a une dll ecrite en C++.J´ai deja essayé d´ajout probleme avec les variables public [ par imad_lol ] salut.je developpe une appilcation intranet en asp.net .le probleme c'est que quand je declare une variable public dans un web form il n est plus reco


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.