Salut à tous,

Je viens de faire un essai à fin d'utiliser un scripts VBS avec windev et j'ai un problème :
Erreur à la ligne 15 du traitement Procédure locale VerifCleUsb.
L'objet automation 'MSScriptControl.ScriptControl' n'est pas installé sur votre système.

Voici le contexte

J'ai une fenêtre avec deux boutons:
Start Thread pour lancer une Thread
Stop Thread pour arrêter le Thread

Quand je clique sur Start Thread mon code fonctionne correctement, après je clique sur Stop Thread puis Start Thread et du coup j'ai le message d'erreur:
L'objet automation 'MSScriptControl.ScriptControl' n'est pas installé sur votre système.
Code BTN Start Thread

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
VG_PAbort = 0
ThreadExécute("Thread", threadNormal,ThreadTest)
Code BTN StOP Thread
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
VG_PAbort = 1
ThreadArrête("Thread")
Et le code du Thread

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
PROCEDURE ThreadTest()
 
// verif si la clé est toujour OK
BOUCLE
ThreadAttendSignal(500)
Trace(VerifCleUsb())	
A FAIRE TANTQUE gnVG_PAbort = 0
et enfin la procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
PROCEDURE VerifCleUsb()
 
oScript est un objet Automation "MSScriptControl.ScriptControl"
VBS est une chaîne = [
Function TestCleUsb()
dim sInfo
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive",,48) 
For Each objItem in colItems 
	IF objItem.Size <>0 Then 
		if strcomp(objitem.Caption,"JetFlash Transcend 4GB USB Device",1)=0 then
			sInfo =  objitem.Caption
		end if
 
	End If
	Next	
 
	TestCleUsb= sInfo
End Function
]
 
QUAND EXCEPTION DANS
	oScript>>Language("VBScript")
	oScript>>Reset
	oScript>>AddCode(VBS)
	oScript>>Timeout(-1)   
	EtatCle est une chaîne = oScript>>Run("TestCleUsb")	
FAIRE
	Erreur("Erreur execution WMI",ExceptionInfo(errInfo))
	ExceptionActive()
	RENVOYER Faux
FIN 
 
RENVOYER EtatCle

merci d'avance