Foxtable(狐表)用户栏目专家坐堂 → [求助]动态函数可以写再 .TXT文本文件里面再调用吗


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

主题:[求助]动态函数可以写再 .TXT文本文件里面再调用吗

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]动态函数可以写再 .TXT文本文件里面再调用吗  发帖心情 Post By:2020/11/4 13:04:00 [只看该作者]

比如 table.txt 文本中写下面的代码

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 Sum5" & vbcrlf


Code =Code & Functions.Add("Sum5",Code)& vbcrlf

Code =Code & Functions.Complie()

然后调用


Functions.Execute("Sum5")


但是目前报错了。不确定是什么原因

[此贴子已经被作者于2020/11/4 13:10:46编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110649 积分:563159 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/4 13:43:00 [只看该作者]

这2句是不能放到文本里的

Code =Code & Functions.Add("Sum5",Code)& vbcrlf

Code =Code & Functions.Complie()


到命令窗口测试真正的代码,测试通过复制放到文本文件里。
Dim Code As string = "从文件读取的字符串"
Functions.Add("Sum5",Code)
Functions.Complie()
Functions.Execute("Sum5")

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/11/4 14:04:00 [只看该作者]

文本 
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"


调用代码
 Dim Code As String = FileSys.ReadAllText("d:\table.txt")

Functions.Add("Sum",code)
Functions.Complie()
Output.Show( Functions.Execute("Sum"))



报错
---------------------------
版本:2020.5.29.8
---------------------------
代码执行出错,错误信息:



System.NullReferenceException: 未将对象引用设置到对象的实例。

   在 System.Windows.Forms.TextBoxBase.AppendText(String text)

   在 Foxtable.Output.Show(String Message)

   在 UserCode.Test()
---------------------------
确定   
---------------------------



 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110649 积分:563159 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/4 14:13:00 [只看该作者]

这才是真正的文本 
Dim Val1 As Integer = 1
Dim Val2 As Integer = 2
Dim Sum As Integer = Val1 + Val2
Return Sum

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/11/4 14:14:00 [只看该作者]

多谢了。

 回到顶部