【问题标题】:Lua in Visual Basic.netVisual Basic.net 中的 Lua
【发布时间】:2011-04-13 20:07:09
【问题描述】:

我试图让一个 VB.net 应用程序能够在外部文件中执行 lua 脚本,并且也能够向 lua 添加一些功能,为此我有以下代码:

Imports LuaInterface
Public Class Form1
Public luascripting As New Lua()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
luascripting.RegisterFunction("DisplayText", Me, Me.GetType().GetMethod("DisplayText"))
luascripting.DoFile("script.lua")
End Sub
End Class

但它在注册函数上出错,说“对象引用未设置为对象的实例”。您知道使用 lua 的示例 VB.net 项目吗?或者知道如何解决这个问题?

【问题讨论】:

    标签: vb.net scripting lua embedded-language


    【解决方案1】:

    你正在注册一个函数,但你忘了写它。将此粘贴到您的表单代码中:

    Public Sub DisplayText()
        MsgBox("Works")
    End Sub
    

    【讨论】:

    • 啊哈!问题是它不是公共潜艇! (虽然我确实有,但我没有把我的整个代码。)
    • 不,除了糟糕的代码 sn-p 之外,真正的问题是您忘记为 GetMethod() 指定 BindingFlags。您需要 BindingFlags.NonPublic 或 BindingFlags.Instance 或 BindingFlags.Public。记录在案。
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多