binghc 发表于 2013-12-19 16:01:43

Call命令,如何判断函数是否存在?

Call命令,如何判断函数是否存在?

线执行call命令,查看@error是可以,但是很多时候需要在调用call前就知道是否存在函数,这个要怎么做?

pusofalse 发表于 2013-12-19 17:07:50

新版AU3加了一个IsFunc函数?

binghc 发表于 2013-12-19 17:32:03

回复 2# pusofalse


   
Func hello($fn='aaaa')

EndFunc

Func aaaa()
EndFunc

不能吧,函数名是一个字符串啊

Ycxw2008 发表于 2013-12-20 19:10:13

本帖最后由 Ycxw2008 于 2013-12-20 19:11 编辑

Local Const $sFunction = "DoesNotExist"
    Call($sFunction)
    If @error = 0xDEAD And @extended = 0xBEEF Then MsgBox(0, "", "函数不存在.")


备 注
可以传递一个特殊的数组代替个别参数.
数组的第一个元素必须设置为 "CallArgArray", 元素 1 - n 将作为单独参数传递给函数.
如果使用特殊数组, 则调用 Call() 不应再有其他参数. 见函数示例.
Call() 本身可以设置 @error; 或由调用函数设置 @error.
如果 Call() 设置 @error, 则值将会是 0xDEAD, 而 @extended 被设置为 0xBEEF.


备注说的很明白啊。

binghc 发表于 2013-12-22 19:19:13

回复 4# Ycxw2008


我的问题也说的很明白啊,你这么判断那一定是执行过后才知道,这就是问题

Ycxw2008 发表于 2013-12-23 00:41:15

回复 5# binghc


    那你DllCallBackRegister啊,这样就ok了吧
页: [1]
查看完整版本: Call命令,如何判断函数是否存在?