Bonjour à tous,

J'ai une DLL (qui s'appelle maDLL.dll) et dans laquelle il y a les 4 fonctions suivantes :

La procédure Debut qui prend deux string en arguments et qui ne renvoie rien.
La procédure Fin qui n'a pas d'arguments et qui ne renvoie rien.
La fonction Lecture qui prend deux string en arguments et qui renvoie un string.
La procédure Ecriture qui prend deux string en entrée et qui ne renvoie rien.

Je souhaite créer un script en VBS qui utiliserait ces fonctions.
Mon problème actuel est que je ne parviens pas à faire comprendre au script qu'il faut qu'il se lie avec la DLL. Les fonctions que j'ai créées (InitializationProg, EndInitializationProg, ReadProg et WriteProg) contiennent surement des erreurs mais pour le moment, ce n'est pas grave.
Voici le code source que j'ai écrit (il est exhaustif, donc si vous ne voyez pas quelque chose que vous estimez essentiel, c'est que je ne l'ai vraiment pas mis, et cela pourrait expliquer pourquoi ce script ne fonctionne pas) :

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
main
 
Sub main()
   Private GSock As GreatSocket
   Declare Sub Debut Lib "C:\maDLL.dll" (ByVal firstStringDebut as String, ByVal secondStringDebut as String)
   Declare Sub Fin Lib "C:\maDLL.dll" ()
   Declare Function Lecture Lib "C:\maDLL.dll" (ByVal firstStringLecture as String, ByVal secondStringLecture as String) as String
   Declare Sub Ecriture Lib "C:\maDLL.dll" (ByVal firstStringEcriture as String, ByVal secondStringEcriture as String)
 
InitializationProg
ReadProg("ok")
End Sub
 
Function InitializationProg()
   Dim App
   Set GSock = New GreatSocket
   App = "" 
   GSock.Debut "MASTER", App
End Function
 
Function EndInitializationProg()
   GSock.Fin
   Set GSock = Nothing
End Function
 
Function ReadProg(param)
   Dim readValue
   GSock.Lecture param, readValue
   ReadProg = readValue
End Function
 
Function WriteProg(param, valueToWrite)
    GSock.Ecriture param, valueToWrite
End Function

Lorsque j'exécute ce code j'obtiens le message d'erreur suivant :
Erreur de syntaxe sur la ligne "Private Gsock as GreatSocket".

Si je la mets en commentaire, j'obtiens le message d'erreur suivant :
Erreur de syntaxe sur la ligne "Declare Sub Debut..."

J'ai écumé les sites internet pour savoir comment utiliser les fonctions d'une DLL à partir de VBS mais je ne trouve aucune explication claire. Je ne sais pas si ça peut être utile, mais pour info, la DLL est un ActiveX (j'avoue ne pas trop maîtriser ce que ça signifie).

Merci pour votre aide