以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]动态函数可以写再 .TXT文本文件里面再调用吗  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157987)

--  作者:81538475
--  发布时间:2020/11/4 13:04:00
--  [求助]动态函数可以写再 .TXT文本文件里面再调用吗

比如 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编辑过]

--  作者:有点蓝
--  发布时间: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
--  发布时间: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()
---------------------------
确定   
---------------------------



--  作者:有点蓝
--  发布时间: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
--  发布时间:2020/11/4 14:14:00
--  
多谢了。