Bonjour a tous,

Je ne sais pas si je poste au bon endroit. Si jamais je me suis trompé n'hésitait pas le changer de place.

Je travaille actuellement sur des bornes info prix (avec un lecteur de code barre intégré) MK1200 de Symbol. J'essaye de développer une page web me permettant pour l'instant de lire un code barre (a terme elle renverra le code barre vers un autre serveur).
Mon soucis actuellement c'est que je n'arrive pas a lancer de fonctions au chargement de la page alors que si je les associe a un bouton tout simple cela fonctionne parfaitement.
Comme je débute en VBS, ActiveX peut être pourriez vous m'aider à débloquer cette situation.
Je vous fourni le code qui marche d'abord :

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
 
<HTML>
	<HEAD>
 
	<script type="text/vbscript">
 
Dim flag, gTotalScans
 
flag = 0
gTotalScans = 0
 
 
sub fopen
	oScanner.OpenScanner()
	State.innerHTML = "Open"
	SetTotalScans 0
end sub
 
sub fenable	
	oScanner.EnableScanning(1)
	State.innerHTML = "Enabled"
	SetTotalScans 0
end sub
 
sub fdisable
	oScanner.EnableScanning(0)
	State.innerHTML = "Disabled"
end sub
 
sub fscan
	oScanner.SetSoftTrigger(1)
end sub
 
sub fclose
	oScanner.CloseScanner()
	State.innerHTML = "Closed"
end sub
 
'//  Scan event toggles
 
sub fevents(chkbox)
	result = oScanner.EnableEvents(chkbox.checked)
	ScanEventParam.innerHTML = ""
end sub
 
Sub fclear
	BarCodeOut.text = ""
	SourceOut.value = ""
	StatusOut.value = ""
	LabelTypeOut.value = ""
	DataLengthOut.value = ""
	flag = 0
End Sub
 
'//
'//   Event catchers
'//
 
Sub oScanner_ScanComplete(BarCode, Source, Status, LabelType, DataLength)
	BarCodeOut.value = BarCode
	SourceOut.value = Mid(Source, 6)
	StatusOut.value = Status
	LabelTypeOut.value = LabelType
	DataLengthOut.value = DataLength
	SetTotalScans gTotalScans + 1
End Sub
 
Sub oScanner_ScanEvent ( eventcode, param )
	ScanEventCode.innerHTML = Cstr(eventcode)
	ScanEventParam.innerHTML = Cstr(param)
End Sub
 
 
'/////////////////////////////////////////////////////////////////////
'//
'//    Raster Mode 
'//
 
sub fGetRasterMode(ctrl, msg)
	Dim raster, trigger, timeout, str
	if (oScanner.GetLaserParams(raster, trigger, timeout)) then
		select case raster
			case 0, 1, 2, 3
				msgbox "raster = " & raster
				ctrl.value = raster
				str = "success"
			case else
				msgbox "raster = " & raster
				str = "unknown mode"
		end select
	else
		str = "GetLaserParams failed"
	end if
	msg.innerHTML = str
end sub
 
sub fSetRasterMode(mode, msg)
	Dim raster, trigger, timeout, str
	if (oScanner.GetLaserParams(raster, trigger, timeout)) then
		raster = mode
		'oScanner.EnableScanning(0)
		if (oScanner.SetLaserParams(raster, trigger, timeout)) then
			str = "raster mode set"
		else
			str = "error setting mode"
		end if
	else
		str = "error getting mode"
		'oScanner.EnableScanning(1)
	end if
	msg.innerHTML = str
end sub
 
'/////////////////////////////////////////////////////////////////////
'//
'//    Trigger Mode 
'//
 
sub fGetTriggerMode(ctl, msg)
	Dim raster, trigger, timeout, str
	str = "start"
	if (oScanner.GetLaserParams(raster, trigger, timeout)) then
		select case trigger
			case 0, 1
				str = "success - " & trigger
				ctl.value = trigger
			case else
				str = "unknown trigger mode"
		end select
	else
		str = "GetLaserParams failed"
	end if
	msg.innerHTML = str
end sub
 
sub fSetTriggerMode(mode, msg)
	Dim raster, trigger, timeout, str
	if (oScanner.GetLaserParams(raster, trigger, timeout)) then
		trigger = mode
		'oScanner.EnableScanning(0)
		if (oScanner.SetLaserParams(raster, trigger, timeout)) then
			str = "trigger mode set"
		else
			str = "error setting mode"
		end if
	else
		str = "error getting mode"
		'oScanner.EnableScanning(1)
	end if
	msg.innerHTML = str
end sub
 
dim string
 
sub init()
	call fdisable
	call fSetTriggerMode(1, string)
	call fsetRasterMode(3,string)
	call fenable()
end sub
</script>
</HEAD>
<body>
			<!-- Objet scanner -->
			<OBJECT id=oScanner style="LEFT: 0px; WIDTH: 0px; TOP: 0px; HEIGHT: 0px" classid=clsid:58A21E64-D817-1220-84F7-00E098035C9E>
		<input type="button" value="open" onclick="fopen()" class="BasicButton" id="bOpen"><br>
		<input type="button" value="enable" onclick="fenable()" class="BasicButton"><br>
		<input type="button" value="scan" onclick="fscan()" class="BasicButton"><br>
		<input type="button" value="disable" onclick="fdisable()" class="BasicButton"><br>
		<input type="button" value="close" onclick="fclose()" class="BasicButton"><br>
		</body>
 
</HTML>
Si j'appuie sur ces boutons les evenements se lance correctement et mon scanner s'active.

Par contre si j'essaye d'executer les fonctions toutes seules cela ne fonctionne plus.

Exemple (je ne remet pas la definition des fonctions :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
<body>
<script type="text/vbscript">
Dim triggermodeout
Dim rastermodeout
 
call fdisable()
call fSetTriggerMode(1, triggermodeout)
call fsetRasterMode(3,rastermodeout)
call fenable()
</script>
</body>
J'ai meme essayer de creer une fonction init() qui contient les fonctions di'nitialisation que j'ai lancé grace a l'option onload de la balise BODY mais sans succès.

Est ce que quelqu'un aurait une petite idée de la provenance de mon problème ?

Merci d'avance.

Guillaume