Executer un string

Résolu
calimero63110 Messages postés 33 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 14 décembre 2008 - 5 nov. 2008 à 20:57
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 19 nov. 2008 à 01:58
Bonjour,

Je cherche a exécuter un string. J'ai essayé via Microsoft Script Control 1.0, seulement lorsque j'essaye d'appeler un sub ou une fonction de mon projet, le programme plante. Il m'est possible d'executer une msgbox, ou encore un calcul, mais impossible de faire un call, ou d'executer une fonction.

Comment faire?

Merci d'avance.

10 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
6 nov. 2008 à 14:48
Pour compiler du code vb.net "à la volée" sa ne fonctionne pas comme cela. Il faut passer par le mécanisme CodeDom !
Exemple ici en C# mais tu pourras mieux visualiser le mécanisme http://vincentlaine.developpez.com/tuto/dotnet/codedom/

Ou alors je n'ai pas bien saisie ta demande et ce que tu souhaites et simplement l'execution d'un fichier de script vbs ?
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
13 nov. 2008 à 13:01
Bonjour,

ah ben faudrait savoir calimero63110
"je souhaite juste executer un fichier script vbs :)"
"Je cherche a ouvrir un fichier contenant des lignes de code VB.Net et à les exécuter, comme si elles étaient écrite dans le code source du programme"

ce sont 2 choses totalement différentes et en plus Willi t'a donné les 2 solutions

a+
3
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
5 nov. 2008 à 21:14
Bonjour,
Peux-tu dire apporter plus de précision ? Tu cherches à executer du vbscript ? executer du code vb.net ?
De quelle manière tu fais cela ?
++
0
calimero63110 Messages postés 33 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 14 décembre 2008
5 nov. 2008 à 22:31
J'avais fait comme ça :

Dim sC As New MSScriptControl.ScriptControl
        Dim ligne As String
        Dim Fichier As String
        Fichier = vbNullString
        sC.Language = "VBScript"

        Dim monStreamReader As StreamReader = New StreamReader(Application.StartupPath & "\Spells\Spell1\Cast.txt")
        'Lecture de toutes les lignes et affichage de chacune sur la page 
        sC.AddObject("index", Index)'Ici c'est pour envoyer une variable au lecteur de code en l'occurence la variable index, qui sera aussi appelé index dans le code
        Do
            ligne = monStreamReader.ReadLine()
            Fichier = Fichier & vbCrLf & ligne

        Loop Until ligne Is Nothing
        sC.ExecuteStatement(Fichier)
        'Fermeture du StreamReader (attention très important) 
        monStreamReader.Close()

Quand dans le fichier texte, je met un Call SendStats par exemple, et bien le sub sendstats du projet n'est pas executé.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
calimero63110 Messages postés 33 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 14 décembre 2008
6 nov. 2008 à 18:05
Oui, je souhaite juste executer un fichier script vbs :)
0
calimero63110 Messages postés 33 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 14 décembre 2008
7 nov. 2008 à 19:11
Personne ne sais ?
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
12 nov. 2008 à 00:58
Pour executer un fichier voirSystem.Diagnostics.Process.Start()
0
calimero63110 Messages postés 33 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 14 décembre 2008
13 nov. 2008 à 12:48
Je ne cherche pas a exécuter un fichier ou un programme présent sur le disque dur. Je cherche a ouvrir un fichier contenant des lignes de code VB.Net et à les exécuter, comme si elles étaient écrite dans le code source du programme.
0
calimero63110 Messages postés 33 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 14 décembre 2008
13 nov. 2008 à 18:51
Ah et bien désolé :) j'avais mal compris la question :x
Autant pour moi, et merci à vous tous, en espérant que CodeDOM ira :)

Prend-il en compte les variables globales et les fonctions déclarés dans le projet ?
Peut on par exemple, executer un Call Function() avec CodeDOM, si "function" est une fonction globale déclarée dans le projet ?
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
19 nov. 2008 à 01:58
Je ne connais que très peu ce mécanisme mais il me semble de mémoire que cela est possible.
0
Rejoignez-nous