cs_xlt
Messages postés15Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention18 octobre 2004 16 sept. 2003 à 11:47
En fait tu peux rajouter des dll qui contiennent des forms, des class, des modules à vbscript. Tu peux meme utiliser tes propres ocx.
C'est ce que je fais actuellement et ca marche très très bien (meme avec une connexion ODBC puisque c'est du vbscript).
Pour rajouter une dll à ton code de script il faut ajouter ces lignes:
Dim MaVariable
SET MaVariable=CreateObject("NomDeProjet.NomDeLaForm")
Si j'ai rien oublié ca devrait marcher... (j'oublie tjr qq chose)
Sinon pr rattacher une DLL à son code VBscript (imaginez une DLL avec tt les outils qu'on utilise regulierement!!) il faut ajouter dans son code VB:
Dim MonScriptCtrl as New MSScriptControl.ScriptControl
MonScriptCtrl.AddObject "MonOutilGenialVBScript",MonOutilGenialVB,true
Ne pas oublier de retirer "Option Explicit" du code VBscript si vous utilisez cette méthode (on a rien sans rien)
Personnellement je teste l'existence de mes variables grace à "option explicit" puis avant de faire mon ".addObject" je le retirre et il n'y a pas de plantages.
Bon allé je crois que j'ai rien oublié. Juste que le vbscript c'est certe limité mais il faut pousser les limites!!!
BasicInstinct
Messages postés1470Date d'inscriptionmardi 5 février 2002StatutMembreDernière intervention20 octobre 201412 3 oct. 2002 à 17:12
c clair ca vaut bien 10/10
mais est ce possible de créer dynamiquement un objet dans ma form ?
cs_mehdibou
Messages postés365Date d'inscriptionvendredi 24 mai 2002StatutMembreDernière intervention18 octobre 2004 1 oct. 2002 à 13:20
Ouais, en fait tu utiliseur l'interpréteur VBScript. C'est une bonne idée !
En fait, ce qui serait pas mal, ce serait de créer son interpréteur !
Ce qui reviendrait finalement à créer un langage....
>Patrice99 : si tu retrouve, ça serait sympa de nous prévenir. On pourrais créer un interpréteur VB pour ceux qui ne l'ont pas !
kllmm
Messages postés35Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention 5 octobre 2003 1 oct. 2002 à 11:42
c'est pratique , ca va m'eviter a present d'utiliser "Private Declare Function GetPrivateProfileString Lib "kernel32" " etc etc .......
Super pratique mais en tt cas , selon ton expression "executer la source independemment de l'exe " on pouvais le faire a l'origine a partir de fichiers INI....
En tt cas simple et efficace. bravo CtHuLhU50 (10/10) :-))
Kllm
cs_Koiu
Messages postés269Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention19 février 2015 30 sept. 2002 à 19:45
Excellent!!!
cs_Patrice99
Messages postés1221Date d'inscriptionjeudi 23 août 2001StatutMembreDernière intervention 9 septembre 2018 30 sept. 2002 à 14:55
Je suis pas sur mais je crois qu'en VB.Net on peut faire la meme chose avec du vrai VB et pas seulement du VBScript. A quoi ca sert ? ca peut servir en IA, ca peut servir aussi à faire un interpreteur de calcul : on tape l'equation d'une fonction et le programme la trace : c'est le seul moyen d'arriver à faire cela.
Psyllos
Messages postés27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 avril 2007 30 sept. 2002 à 09:12
Xcusez pour les fautes mais chuis un po dans l'pâté là...
Psyllos
Messages postés27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 avril 2007 30 sept. 2002 à 09:11
Que je t'explique qqch Nox :
Tes calculs sont erronés. En fait, le prog ne se modifie pas lui même... En fait ce projet fais références à un objet de VBScript... qui a un interpréteur...
Donc en fait l'exe n'est pas modifié : il envoit simplement des commandes... je sais po si j'ai été très clair. (En gros ce n'est po magique)
cs_Nox
Messages postés415Date d'inscriptionmardi 3 avril 2001StatutMembreDernière intervention26 avril 2008 30 sept. 2002 à 01:52
Re-Cool!
Quand on compile en EXE, sa mache... donc l'exe se modifie lui même (ce que je croyais impossible vu qu'il est ouvert)
Donc, dapres mes calculs, un fichier peut être modifié une fois ouvert si il est modifié par lui même ???
tk sa reste du ben bo travail!
cs_Nox
Messages postés415Date d'inscriptionmardi 3 avril 2001StatutMembreDernière intervention26 avril 2008 30 sept. 2002 à 01:48
cool!!!
jai pas trouvé coment l'utiliser... mais c cool!!
10/10
cs_Clem
Messages postés282Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention12 février 2007 29 sept. 2002 à 23:35
Oups, je vient de trouver un petit bug, qui arrive quand on fait par exemple une boucle avec for ou autres, voici donc ma version corrigée :
Public Scripting As MSScriptControl.ScriptControl
Private Sub Form_Load()
Set Scripting = New MSScriptControl.ScriptControl
Scripting.Language = "VBScript"
Scripting.Reset
Scripting.AddObject "form1", Form1, True
f = FreeFile
Open "vb.txt" For Input As #f
Scripting.AddCode Input(LOF(f), f)
Close #f
End Sub
Par contre, j'ai remarqué que c'est du vbscript, et non du vrai vb, c'est a dire, qu'il y a quelques diférences (exemple, dans une boucle "for i=0 to 4", en vb normal, on peut mettre "next" ou "next i", en vbs, on peut mettre que "next", mais bon, c'est pas la fin du monde !!!!
Par contre, faudrait trouver le moyen de ne pas passer par Scripting.AddObject "form1", Form1, True pour chaque form et autres du prog.
(Note : 10/10)
cs_Clem
Messages postés282Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention12 février 2007 29 sept. 2002 à 23:26
Ok, je vient de voir la source, et j'ai compris, c cool !!!
Tu peut utiliser toutes les commandes de vb et tout !
J'ai pas encore d'idée d'utilité en tête, mais ca peut être pratique.
Ps: Je vient de trouver, par exemple, faire un système de traduction d'un programme, ou faire des plugins sur prog, bref génial !!!!!!!!!!!!
cs_SHIVA
Messages postés97Date d'inscriptionvendredi 28 décembre 2001StatutMembreDernière intervention 1 décembre 2003 29 sept. 2002 à 22:52
16 sept. 2003 à 11:47
C'est ce que je fais actuellement et ca marche très très bien (meme avec une connexion ODBC puisque c'est du vbscript).
Pour rajouter une dll à ton code de script il faut ajouter ces lignes:
Dim MaVariable
SET MaVariable=CreateObject("NomDeProjet.NomDeLaForm")
Si j'ai rien oublié ca devrait marcher... (j'oublie tjr qq chose)
Sinon pr rattacher une DLL à son code VBscript (imaginez une DLL avec tt les outils qu'on utilise regulierement!!) il faut ajouter dans son code VB:
Dim MonScriptCtrl as New MSScriptControl.ScriptControl
MonScriptCtrl.AddObject "MonOutilGenialVBScript",MonOutilGenialVB,true
Ne pas oublier de retirer "Option Explicit" du code VBscript si vous utilisez cette méthode (on a rien sans rien)
Personnellement je teste l'existence de mes variables grace à "option explicit" puis avant de faire mon ".addObject" je le retirre et il n'y a pas de plantages.
Bon allé je crois que j'ai rien oublié. Juste que le vbscript c'est certe limité mais il faut pousser les limites!!!
3 oct. 2002 à 17:12
mais est ce possible de créer dynamiquement un objet dans ma form ?
1 oct. 2002 à 13:20
En fait, ce qui serait pas mal, ce serait de créer son interpréteur !
Ce qui reviendrait finalement à créer un langage....
>Patrice99 : si tu retrouve, ça serait sympa de nous prévenir. On pourrais créer un interpréteur VB pour ceux qui ne l'ont pas !
1 oct. 2002 à 11:42
Super pratique mais en tt cas , selon ton expression "executer la source independemment de l'exe " on pouvais le faire a l'origine a partir de fichiers INI....
En tt cas simple et efficace. bravo CtHuLhU50 (10/10) :-))
Kllm
30 sept. 2002 à 19:45
30 sept. 2002 à 14:55
30 sept. 2002 à 09:12
30 sept. 2002 à 09:11
Tes calculs sont erronés. En fait, le prog ne se modifie pas lui même... En fait ce projet fais références à un objet de VBScript... qui a un interpréteur...
Donc en fait l'exe n'est pas modifié : il envoit simplement des commandes... je sais po si j'ai été très clair. (En gros ce n'est po magique)
30 sept. 2002 à 01:52
Quand on compile en EXE, sa mache... donc l'exe se modifie lui même (ce que je croyais impossible vu qu'il est ouvert)
Donc, dapres mes calculs, un fichier peut être modifié une fois ouvert si il est modifié par lui même ???
tk sa reste du ben bo travail!
30 sept. 2002 à 01:48
jai pas trouvé coment l'utiliser... mais c cool!!
10/10
29 sept. 2002 à 23:35
Public Scripting As MSScriptControl.ScriptControl
Private Sub Form_Load()
Set Scripting = New MSScriptControl.ScriptControl
Scripting.Language = "VBScript"
Scripting.Reset
Scripting.AddObject "form1", Form1, True
f = FreeFile
Open "vb.txt" For Input As #f
Scripting.AddCode Input(LOF(f), f)
Close #f
End Sub
Par contre, j'ai remarqué que c'est du vbscript, et non du vrai vb, c'est a dire, qu'il y a quelques diférences (exemple, dans une boucle "for i=0 to 4", en vb normal, on peut mettre "next" ou "next i", en vbs, on peut mettre que "next", mais bon, c'est pas la fin du monde !!!!
Par contre, faudrait trouver le moyen de ne pas passer par Scripting.AddObject "form1", Form1, True pour chaque form et autres du prog.
(Note : 10/10)
29 sept. 2002 à 23:26
Tu peut utiliser toutes les commandes de vb et tout !
J'ai pas encore d'idée d'utilité en tête, mais ca peut être pratique.
Ps: Je vient de trouver, par exemple, faire un système de traduction d'un programme, ou faire des plugins sur prog, bref génial !!!!!!!!!!!!
29 sept. 2002 à 22:52