Est-il possible de vérifier si une fonction VBScript est définie?
-
06-09-2019 - |
Question
Ceci est probablement un vœu pieux ...
Est-il possible de vérifier si une fonction ASP / VBScript est défini avant de l'appeler?
La solution
Il est une façon légèrement hacky de le faire car il repose sur avoir mis « On Error Resume Next », mais vous pouvez faire quelque chose comme ceci:
On Error Resume Next
Dim objRef1, objRef2
Set objRef1 = GetRef("DoStuff1")
If objRef1 Is Nothing Then
Call objRef1
Else
MsgBox "DoStuff1 is not defined!"
End If
Set objRef2 = GetRef("DoStuff2")
If objRef2 Is Nothing Then
MsgBox "DoStuff2 is not defined!"
Else
Call objRef2
End If
Sub DoStuff1
MsgBox "DoStuff1!"
End Sub
L'appel à getRef génère une exception si la sous ou la fonction que vous essayez d'obtenir un pointeur n'existe pas (comme cela est le cas ici avec DoStuff2). Vous pouvez ensuite vérifier si la référence a été fixé comme prévu.
Autres conseils
Voici ma solution qui fonctionne sur le même principe, mais le aki-ness est assez autonome:
Function FunctionExists( func_name )
FunctionExists = False
On Error Resume Next
Dim f : Set f = GetRef(func_name)
If Err.number = 0 Then
FunctionExists = True
End If
On Error GoTo 0
End Function
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow