begin process at 2010 03 21 02:04: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

VB3 et le Web [ par Albion ] Bonjour,Je recherche une méthodologie pour faire d'une application VB3 standard une application DHTML (ou IIS).Je sais d'ores et déjà comment ouvrir u Help [ par Sam ] Salut,Quelqu'un peut-il m'aider, je dois créer une DLL qui me ferait la traduction de messages d'erreur dans une application en VB6,du français en une Événement lorsqu'un feuille est cliquée [ par Amonbofis ] Quelqu'un sait comment on fait pour exécuter unévénement dès qu'on clique le titre d'une application?Je m'explique, j'aimerais démarrer mon Applicati Multirésolution [ par Vanille ] Dans une application VB4(16 bits), j'utilisais la ressource VSBBX, le contrôle VSElastic permettant la multirésolution. Ayant converti l'application e paramètre à un programme VB [ par ddp ] Comment recupérer un paramètre passer à mon application .par exemple : - monappli.exe fichier.extJe sais enregistrer les extensions des fichiers de mo Comment executer une application w32 [ par Jean ] BonjourJe cherche a lancer un programme a partir d' une application que je fabrique sous VB5.Merci d'avance execution d'une application vb5/reseau nt4/1processeures [ par caandoit_ma ] l'execution de mes application sur un poste de mon LAN fait trop du temps pour acceder au donnée par contre sur mon cerveur il marche parfaitementet b Probleme de ISAM [ par Hassan ] j'ai une application en cours de developpement et mon probleme c'est que si je lance l'application un message d'erreur apparaissent le voilà: "Couldn' lancement de l'application en meme temps qu'une autre [ par silix ] 'lutJe voudrais lancer mon application lors de la connnexion à Internet. Comment faire ?Thx Help!! Comment peut on sauver des fichiers après la fermeture de l'application????? [ par ludvo ] J'ai un gros problème, je viens de mettre en projet un logiciel de gestion de portefeuille (syle money) mais je ne sais pas comment sauvegarder les co


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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 : 0,218 sec (4)

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