vbscript 함수가 정의되었는지 확인하는 방법이 있습니까?
-
06-09-2019 - |
문제
이것은 아마도 희망적인 생각 일 것입니다 ...
ASP/VBScript 함수가 호출하기 전에 정의되어 있는지 확인하는 방법이 있습니까?
해결책
"오류 이력서 다음"을 설정하는 데 의존하기 때문에 약간 해킹하는 방법이지만 다음과 같은 일을 할 수 있습니다.
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
GetRef에 대한 호출은 포인터를 얻으려고하는 서브 또는 기능이 존재하지 않는 경우 예외를 생성합니다 (Dostuff2의 경우와 같이). 그런 다음 참조가 예상대로 설정되었는지 확인할 수 있습니다.
다른 팁
여기에 같은 원칙에 따라 작동하는 솔루션이 있지만 해킹은 매우 독립적입니다.
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
제휴하지 않습니다 StackOverflow