begin process at 2012 02 14 21:10:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

ScriptControl VSA CodeDom


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ScriptControl VSA CodeDom

dimanche 30 décembre 2007 à 22:15:06 | ScriptControl VSA CodeDom

EMMANUELTAVE

bonsoir a tous

je suis en train de passer une application de VB6 a VB2005.
J'utilisais avant le ScriptControl pour que mes utilisateur puisse personnonaliser mon application (acces a des objet, methode, fonction, propriété ....)

le ScriptControl n'étant plus a la "Mode" j'ai trouver de nouvelles techniques :

VSA et CodeDom

Quelqu'un peut il me dire quelles sont les differences et qu'elle technique utiliser plutot qu'une autre

ps: j'ai vu que CodeDom peut compiler des application a la volée, mais je veux que mon application executer seulement des scripts.

Merci
le gros mangeur de paté
jeudi 3 janvier 2008 à 01:52:49 | Re : ScriptControl VSA CodeDom

EMMANUELTAVE

Voila j'ai trouvé une partie de mon boheur :

J'ai créer une Form avec un Bouton et un Textbox

txbScript.Text= "Imports System
Imports Microsoft.VisualBasic 
NameSpace Test
   Class TestCode
        Public Sub Main()
              msgbox("
hjkh
")
              msgbox(5*2)
       End Sub
   End Class
End NameSpace"

voici le code du form :

Private Sub butExecuter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butExecuter.Click
   ExecuteCommand1()
EndSub
 
PrivateSub ExecuteCommand1()
   Dim vbCodeProv As VBCodeProvider = New VBCodeProvider
   Dim cParam As CodeDom.Compiler.CompilerParameters = New CodeDom.Compiler.CompilerParameters
 
   ' Ajout des références
   cParam.ReferencedAssemblies.Add("System.dll")
 
   ' Options du compilateur
   cParam.CompilerOptions = "/t:library"   'L'assembly est une bibliothèque de classe,
   cParam.GenerateInMemory = True          'générée uniquement en mémoire.
 
   ' Résultat de la compilation
   Dim cResult As CodeDom.Compiler.CompilerResults = vbCodeProv.CompileAssemblyFromSource(cParam, txbScript.Text)
 
   If cResult.Errors.Count > 0Then
       Dim Errors AsString = "Erreur(s) : "
       ForEach ce As CodeDom.Compiler.CompilerErrorIn cResult.Errors
        Errors &= vbCrLf & ce.ErrorText
       Next ce
       
      MsgBox(Errors)
    EndIf
 
   ' Récupération de l'assembly généré
   Dim myAssembly As System.Reflection.Assembly = cResult.CompiledAssembly
EndSub

  C'est cool car la compilation en memoire est correcte !!
 Mais je ne trouve pas la solution pour executer le code du textBox


Pour Ceux qui comprennent les objet System.Reflection et VBCodeProvider merci de votre aide

le gros mangeur de paté
jeudi 3 janvier 2008 à 08:01:48 | Re : ScriptControl VSA CodeDom

divadav

Membre Club
Il te manque cette ligne : cParam.ReferencedAssemblies.Add("Microsoft.VisualBasic.dll")
J'avais pas fait gaffe à ton post, j'ai répondu sur ma source !!

En fait, si tu veut tester du code dans Visual Studio, comme si tu l'exécutait avec CodeDom, il faut que tu fasses un nouveau projet, et que tu commence par retirer toutes les références et les espaces de noms importés (clic-droit sur ton projet, propriétés, onglet Références : tout se trouve là !)

Une fois que tu as fait ça, tu peux commencer à ajouter les assemblies que tu veux référencer, puis écrire ton code avec les imports qui vont bien... C'est un des problèmes de VS : il importe de lui même certains espaces de noms, de manière transparente pour le développeur, du coup, on a un peut l'impression qu'une fonction comme MsgBox() sort de nulle part, alors que c'est l'IDE qui a importé tout ce qu'il fallait pour que ça marche, sans rien dire !


Divad
Techniques de Web Design, Traductions d'articles sur le Web Design, Astuces .Net


Cette discussion est classée dans : application, scriptcontrol, codedom, vsa


Répondre à ce message

Sujets en rapport avec ce message

CodeDom - Impossible de "cacher" mon application. [ par flop47000 ] Bonjour à tous! J'utilise CodeDom compiler afin de créer un certain fichier qui doit se lancer certes mais sans laisser apparaître le formulaire ains Application.Visible=False [ par pipive ] Salut, Je rencontre un petit problème d'affichage avec Vba Excel. Lorsque j'active mon userform je veux fermer juste le fichier excel correspondant. M problème VBA Application.run et le caractère "-" [ par the_little_big_man ] bonjour. encore une fois j'ai besoin de vos lumières. je lance une macro contenu dans un autre classeur xl. [code=vb] Application.Run nomfichier & base de données [ par yassin89 ] slt tout le monde bonjour je suis un débutant dans la programation et je suis entrain de creer une application de gestion de stock j'utilise vb6 et ac Creer une application windows forms qui prends des arguments à l'éxécution [ par bonagad ] Salut les amis, Je vous explique la situation qui m'amène vers vous: j'ai une application créée en VB6 dont on veut lui associer une autre application Publication d'application [ par MiciM ] J'aimerais bien savoir comment publier une application. En effet, dans le menu Générer, j'ai cliqué sur Publier. J'ai suivi l'assistant mais là déjà, Développement d'une application en Visual Basic [ par atavi ] Bonjour messieurs je sollicite l'aide d'un expert en Visual Basic pour m'aidera à résoudre le problème ci-dessus pour le développement de l'applicatio Envoyer les messages de debug vers une console [ par Julian50 ] Bonjour à tous, Je ne sais pas si je poste dans le bon thème mais bon. Voilà, j'ai application windows forms qui contient des debug.writeline() pour Bloquer l'accès Wondows - VB.NET [ par fiko81 ] Bonjour à tous, Je voulais savoir s'il était possible de bloquer l'accès Windows sur un PC avec une application VB. J'ai une application qui démarre


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,335 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales