Foxtable(狐表)用户栏目专家坐堂 → [结贴]实现通过vs2008添加动态代码


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

主题:[结贴]实现通过vs2008添加动态代码

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


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
[结贴]实现通过vs2008添加动态代码  发帖心情 Post By:2011/4/17 12:35:00 [只看该作者]

如果要使用第三方的开发工具,请引用foxtable.exe和foxtable.lib.dll,这两个文件包括foxtable所有公开的类型。

如何实现以下代码?

 

示例

下面的代码定义了一个简单的Sum函数:

Dim Code As string
Code
= "Dim Val1 As Integer = 1" & vbcrlf
Code
= Code & "Dim Val2 As Integer = 2" & vbcrlf
Code
= Code & "Dim Sum As Integer = Val1 + Val2" & vbcrlf
Code
= Code & "Return Sum"
Functions.Add(
"Sum",Code)
Functions.Complie()

这样我们就可以在其余地方调用此函数:

Functions.Execute("Sum")

[此贴子已经被作者于2011-4-17 13:54:49编辑过]

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


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
  发帖心情 Post By:2011/4/17 13:52:00 [只看该作者]

睡了一觉,神清气爽啊,一下就通了。附攻略

 1、在vs2008中,新增一个新项目,

 


图片点击可在新窗口打开查看此主题相关图片如下:添加引用.png
图片点击可在新窗口打开查看

 

2、添加新建的项目中=>项目=>添加引用 (foxtable的引用)

图片点击可在新窗口打开查看此主题相关图片如下:新增类库.png
图片点击可在新窗口打开查看

3、附代码

Imports Foxtable
Public Class Class1
Public Function xb()
Dim x As String = "Return 123"
Foxtable.Functions.Add("Sum", x)
Foxtable.Functions.Complie()
Return True
End Function
End Class

 

4、编译生成dll文件。并复制到foxtable程序目录下。我的是(by.dll)

 

5、打开foxtable并添加外部引用

 


图片点击可在新窗口打开查看此主题相关图片如下:外部引用.png
图片点击可在新窗口打开查看

 

6、打开foxtable 的命令窗口输入一下命令

Dim x As New by.Class1
output.show(x.xb)
output.show(Functions.Execute("sum"))

 

结果如下。调试成功了哦。

 

 


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


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
  发帖心情 Post By:2011/4/17 13:54:00 [只看该作者]

调试成功咯

 


图片点击可在新窗口打开查看此主题相关图片如下:调试成功.png
图片点击可在新窗口打开查看

 

vs2008 代码

图片点击可在新窗口打开查看此主题相关图片如下:代码片段.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/17 15:09:00 [只看该作者]

呵呵,看来睡好觉,才能学得好啊。

图片点击可在新窗口打开查看


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


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/4/17 16:25:00 [只看该作者]

主要用途是什么?


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


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
  发帖心情 Post By:2011/4/17 16:39:00 [只看该作者]

嘿嘿,用途嘛················

准备搞foxtable版B/s程序,为实现内部函数代码加密。嘿嘿。


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/4/18 7:51:00 [只看该作者]

也是一高手中的高手.

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


加好友 发短信
等级:童狐 帖子:274 积分:2293 威望:0 精华:0 注册:2015/6/14 18:33:00
  发帖心情 Post By:2015/12/23 18:48:00 [只看该作者]

foxtable版B/s程序整出来了没有

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


加好友 发短信
等级:童狐 帖子:274 积分:2293 威望:0 精华:0 注册:2015/6/14 18:33:00
  发帖心情 Post By:2016/1/16 16:45:00 [只看该作者]

请教

Dim x As New by.Class1
output.show(x.xb)
output.show(Functions.Execute("sum"))

这段代码执行 没问题有预期效果

 

但如果

Dim x As New by.Class1
output.show(x.xb)

二次执行就不行,提示键值已有,是啥原理


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/16 17:22:00 [只看该作者]

要先吧函数remove掉,如

 

Functions.remove("函数")
Dim Code As String
Code = "msgbox(123)" & vbcrlf
Functions.Add("函数",Code)
Functions.Complie()
Functions.Execute("函数")


 回到顶部
总数 12 1 2 下一页