我正在使用c#框架4.8、winforms和nlua编写一个简单的程序。我想使用lua脚本更改主表单的位置。以下是我尝试过的:
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
}using NLua;
lua_context = new Lua();
lua_context.LoadCLRPackage();
lua_context.DoString("import 'System.Drawing'");
lua_context.DoString("import 'System.Windows.Forms'");
MainForm main_form = new MainForm();
lua_context["main_form"] = main_form;
lua_context.DoString("main_form.Location = Point(5, 5)");在调用最后一行时,我会得到这个错误:
抛出的异常:'NLua.Exceptions.LuaScriptException‘在NLua.dll中发生了一个未处理的'NLua.Exceptions.LuaScriptException’类型的异常,出现在NLua.dll字符串“区块”中:1:尝试调用一个零值(全局'Point')
我也尝试过:
lua_context.DoString("main_form.Location = System.Drawing.Point(5, 5)");我得到了一个错误:
抛出的异常:“NLua.Exceptions.LuaScriptException”在NLua.dll中--NLua.Exceptions.LuaScriptException类型的未处理异常发生在NLua.dll字符串“区块”中:1:尝试索引零值(全局'System')
发布于 2022-07-19 15:52:06
试着添加
import("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
form.lua曾经工作过
发布于 2022-07-18 08:40:16
在Lua中没有全局Point。也许你可以使用System.Drawing.Point(5, 5)。
或者,添加lua_context.DoString("import 'System.Drawing'");可以解决这个问题。
https://stackoverflow.com/questions/73016602
复制相似问题