开发者

GetRef to capture methods?

开发者 https://www.devze.com 2023-01-02 19:40 出处:网络
I\'ve just discovered VBScript\'s GetRef function, which gets a开发者_StackOverflow社区 reference to the function named by its argument. Is there any way to get a reference to a method in this way? I

I've just discovered VBScript's GetRef function, which gets a开发者_StackOverflow社区 reference to the function named by its argument. Is there any way to get a reference to a method in this way? I have a hunch that VBScript doesn't offer the sophistication of binding needed to do so, but it would sure be nice.


No, GetRef doesn't support class methods.


There is a workaround for this, see my answer here

Here the full sample

Const forReading = 1, forWriting = 2, forAppending = 8, CreateFile = True
Set my_obj = CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\temp\test.txt", forWriting, CreateFile)

Function my_function(my_obj, method, text)
  command = "my_obj." & method & " """ & text & """"
  ExecuteGlobal command
End Function

'make a reference to our function
Set proc = GetRef("my_function") 
'and call it with parameters, the first being the method invoked
Call proc(my_obj, "WriteLine", "testing")

'cleanup'
my_obj.Close
Set my_obj = Nothing
0

精彩评论

暂无评论...
验证码 换一张
取 消