找回密码
 加入
搜索
查看: 3838|回复: 5

[系统综合] Call命令,如何判断函数是否存在?

  [复制链接]
发表于 2013-12-19 16:01:43 | 显示全部楼层 |阅读模式
Call命令,如何判断函数是否存在?

线执行call命令,查看@error是可以,但是很多时候需要在调用call前就知道是否存在函数,这个要怎么做?
发表于 2013-12-19 17:07:50 | 显示全部楼层
新版AU3加了一个IsFunc函数?
 楼主| 发表于 2013-12-19 17:32:03 | 显示全部楼层
回复 2# pusofalse


   

Func hello($fn='aaaa')

EndFunc

Func aaaa()
EndFunc

不能吧,函数名是一个字符串啊
发表于 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.


备注说的很明白啊。
 楼主| 发表于 2013-12-22 19:19:13 | 显示全部楼层
回复 4# Ycxw2008


我的问题也说的很明白啊,你这么判断那一定是执行过后才知道,这就是问题
发表于 2013-12-23 00:41:15 | 显示全部楼层
回复 5# binghc


    那你DllCallBackRegister啊,这样就ok了吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-20 08:26 , Processed in 0.078473 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表