Foxtable(狐表)用户栏目专家坐堂 → 关于自定义函数的判断


  共有2439人关注过本帖树形打印复制链接

主题:关于自定义函数的判断

帅哥哟,离线,有人找我吗?
zhsenchzhi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
关于自定义函数的判断  发帖心情 Post By:2017/6/5 15:41:00 [只看该作者]

在执行 自定义函数之前, 我想先判断一下  某自定义函数是否存在,如果存在,就执行,如果不存在,就不执行,请问该怎样判断呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/5 15:43:00 [只看该作者]

 比较麻烦

 

try
    Functions.add("test", "")
    Functions.remove("test")
    msgbox("不存在,继续执行")
catch ex As exception
    msgbox("已存在")
End try
[此贴子已经被作者于2017/6/5 15:43:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhsenchzhi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2017/6/5 16:54:00 [只看该作者]

难道没有别的更好的方法了吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/5 17:41:00 [只看该作者]

 没有提供对应方法。

 回到顶部
帅哥哟,离线,有人找我吗?
zhsenchzhi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2017/7/4 23:35:00 [只看该作者]

下面这种方法来判断 自定义函数是否存在,好像不行呀
try
    Functions.add("test", "")
    Functions.remove("test")
// 执行到这里的时候, 即使  test 函数 已经存在, 也不会抛出异常, 仍然会执行到这里
    msgbox("不存在,继续执行")
catch ex As exception
    msgbox("已存在")
End try

请问还有别的方法吗?

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2017/7/5 4:20:00 [只看该作者]

既然是开发者自定义的,为何要判断是否存在?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/5 8:34:00 [只看该作者]

以下是引用zhsenchzhi在2017/7/4 23:35:00的发言:
下面这种方法来判断 自定义函数是否存在,好像不行呀
 
// 执行到这里的时候, 即使  test 函数 已经存在, 也不会抛出异常, 仍然会执行到这里
 

请问还有别的方法吗?

 

只有动态添加的,才能判断。你通过菜单添加的函数,无法判断。


 回到顶部
帅哥哟,离线,有人找我吗?
zhsenchzhi
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2017/7/5 10:34:00 [只看该作者]

可是我现在需要这样的功能,该怎样解决呢?需要判断一下, 原来是否有某个 函数, 如果不判断, 直接指向, 即使 放在 try  catch  里面,仍然会报错, 有没有方法让他不报错呀?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/5 10:36:00 [只看该作者]

没办法,foxtable没有开放对应的功能。

 

你可以用一个表,记录你已经添加的函数的名称,直接查表就好了啊。


 回到顶部
帅哥哟,离线,有人找我吗?
nblwar
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6800 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2017/7/5 14:46:00 [只看该作者]

其实就是自定义一个集合(List(Of String)),每添加删除一个自定义函数就更新这个集合,最后用Contains方法判断

 回到顶部