IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Probleme compilation dynamique


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut Probleme compilation dynamique
    J ai un code dans un language dot net c++ manage. Mais ca peut etre c# ou vb.net. Dans ce code, je genere dynamiquement une dll.

    En fait je passe en parametre un code source en vb.net sous forme de string et je le fais compiler dynamiquement.

    Ca compile parfaitement.

    Le probleme maintenant est que je souhaite injecter a la compilation un objet.

    Par exemple dans mon programme j ai:

    Input newtype = new Input();
    newtype.value=12;

    Puis je fais la compilation dynamique.

    Mais dans mon code source a generer dynamiquement, je n ai pas la definition du type.

    Par exemple j aurai juste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Module Module1
     
        Sub Main()
     
            MsgBox((newtype.value)*2)
     
        End Sub
     
    End Module
    Comment faire pour injecter l objet car il n est pqas defini dans le source?

    Merci

  2. #2
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Salut

    En utilisant la reflection, en typant ta classe en System.Reflection.Assembly, tout est detaillle ici (en vb.net)

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    Merci pour ta reponse. Mais la compilation a la volee je sais faire. Le probleme que j ai reside dans le fait que le code que genere, je souhaite lui passer un objet deja cree.

    Et la je vois pas comment faire

  4. #4
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Dans le lien il y a un exemple de passage d'objet vers le code complie (un simple array cependant)

    Donc le probleme c'est d'ajouter une reference dans le code compile a la volee

    Ta dll tu la genere depuis une chaine de caracteres?

    Ou tu cree toute la structure du code a generer avec codeDOM? (si c'est ca regarde CodeCompileUnit

  5. #5
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    Je passe mon code sous forme d un string.

    Mais il passe son objet avec cette methode?

    'First set the property
    scriptType.InvokeMember("SampleProperty", _
    System.Reflection.BindingFlags.Public Or _
    System.Reflection.BindingFlags.SetProperty Or _
    System.Reflection.BindingFlags.Instance, _
    Nothing, instance, args)

  6. #6
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Oui il passe args par la reflexion, c'est tres esthetique d'ailleurs

    Jette un coup d'oeuil a ce tuto, le but de celui-ci est de developper des plugins dlls pour une application grace aux interfaces. A mon avis il doit etre possible de rajouter la generation des plugins a la volee (puis de les utiliser en passant par l'interface comme decrit dans le tuto)

Discussions similaires

  1. [JAR]Probleme compilation avec jdom
    Par ronaldgis dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 04/08/2004, 11h31
  2. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  3. [struts] probleme champs dynamiques
    Par rocco dans le forum Struts 1
    Réponses: 28
    Dernier message: 07/06/2004, 21h26
  4. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 16h01
  5. [Debian] problème compilation jbuilder 9...
    Par Ancien_Do.Urden dans le forum JBuilder
    Réponses: 5
    Dernier message: 20/03/2004, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo