问题标签 [luainterface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
388 浏览

c# - GetFunction 返回空 luainterface

我在我的 C# 程序中加载了这个脚本

但是当我尝试调用它时

我得到 func 为空的问题。

我错了什么?

0 投票
2 回答
1603 浏览

c# - LuaInterface - 如何从任何路径加载程序集?

我正在尝试使用 LuaInterface 加载 .net 程序集。如果我将程序集与我的可执行文件(以及我的 LuaInterface.dll 和 LuaNet.dll)放在同一个文件夹中,那么一切正常。我想将程序集移动到不同的文件夹中,但是当我尝试得到“用户代码中发生 .NET 异常”时。我努力了:

所有这些都返回 .NET 异常错误。有没有办法定义 LuaInterface 使用的路径?

0 投票
0 回答
436 浏览

c# - 通过 LuaInterface 从 C# 访问 Lua 函数

LuaInterface 从 C# 访问 Lua 函数时遇到问题。

如果我有这样定义的 LuaFunction

这可以通过正常调用从 C# 访问,例如

没有参数。但是如果你看一下 Lua 中函数的定义,我用了一个“:”来定义函数。我可以这样重写它,这是一样的:

到目前为止,一切正常。但是现在,我将 OnEvent 替换为另一个函数。

现在我遇到了一个问题。在这种情况下,我必须使用参数(对于 self)调用该函数。如果我不这样做,我会得到一个错误。

我可以通过两件事来解决这个问题:

  1. 说 LuaInterface,它应该每次调用带有“:”的方法,并带有 self 的参数。
  2. 我可以从 LuaInterface 中检索该函数需要多少参数。

但是,如何做这件事之一?

谢谢你。

0 投票
3 回答
2822 浏览

c# - LuaInterface - 一个返回 LuaTable 值的函数

有谁知道如何编写一个返回 LuaTable 值的 C# 函数(例如{1 = "example1", 2 = 234, "foo" = "Foo Example"}?我测试过的所有类型都返回LuaUserData不可配对/可配对的值。提前致谢。

--update-- 在我看来,最接近 luaTable 的类型是 ListDictionary:

但它仍然在 Lua 中被识别为 LuaUserData 并且不能配对/配对

0 投票
1 回答
298 浏览

c# - LuaInterface:如何转储 LuaFunction 进行序列化

我尝试保存/序列化 Lua 状态。我知道,我必须保存/序列化我在 _G 中找到的所有全局变量,但不知道如何保存/序列化我找到的 LuaFunction。我尝试使用string.dump,但它只提供带有 Lua 签名的字符串(使用 LuaQ 的 5 个字节)。

该功能string.dump有效,因为如果我打电话

我得到 409 而不是 5 作为字符串的长度。所以转储工作正常。这可能是 LuaInterface 的问题。

有人在那里,如何通过 LuaInterface 实现 Lua 状态的序列化?

最好的问候,德克

PS:我在 VS 2010 C# Express 上使用 KopiLua 5.1.4 和 LuaInterface 2.0.4。

0 投票
1 回答
7251 浏览

c# - LUA - '・ 附近的意外符号

我正在尝试Lua在运行时将脚本加载到我的项目中。但是,每当我尝试这样做时,在加载文件时都会收到以下错误:

文件本身很简单,但我看不出原因:

这是我用来运行它的代码,C#以防这与它有关:

我已经尝试更改文件本身的设置,但是这些似乎都没有帮助。以下是我对此文件的设置:

0 投票
0 回答
607 浏览

c# - LuaInterface/C# - 使用 .NET 对象创建的闭包永远不会被清理

我在 C# 应用程序中使用最新版本的 LuaInterface ( http://code.google.com/p/luainterface/ )。我遇到了一个问题,即 Lua 类无法清理 ObjectTranslator 'objects' 和 'objectsBackMap' 字典中的内部引用,导致内存使用量一直在增长。

下面的代码说明了这个问题:

当匿名函数(本地 f = ...)从外部范围创建涉及 .NET 对象的闭包时,就会出现问题。只要 Lua 解释器还活着,我创建的 50 个 DotNetObject 类实例就永远不会被垃圾回收,即使在 Lua 中强制进行 GC 时也是如此。

在 MyClass.StoreFunction 中手动处理 LuaFunction (function.Dispose()) 对象可以解决问题,但这是不可取的,因为在我的实际应用程序中,我不知道函数何时会执行——或者它是否会执行。强迫我处置 LuaFunction 会改变应用程序的整个架构,因此我基本上是通过处置包含 LuaFunction 的对象以及包含该对象的对象,一直沿链向上进行手动内存管理。

那么,这是 LuaInterface 中的一个错误,还是我错误地使用了该库?非常感谢任何建议,谢谢!

0 投票
2 回答
1880 浏览

c# - LuaInterface C#:dostring 与 dofile。是否值得将一个将被多次调用的脚本加载到内存中?

谁能告诉我我是否可以通过加载一个 lua 脚本来合理地期望任何性能提升,该脚本将被重复调用到内存中以通过 LuaInterface 的dostring()功能而不是执行来执行dofile()

我是否正确地假设这会通过减少每次迭代的文件系统访问来更好地执行?

有没有办法在Lua VM中缓存脚本?

0 投票
1 回答
937 浏览

c# - LuaInterface:如何访问多维lua表?

我是 LuaInterface 的新手,有一个非常简单的问题:如何从 c# 访问多维 lua 表中的数据?我设法读取字符串和整数值,但对表格并不幸运。我的目标是在(虚拟)GridView 中显示多维 lua 表的内容。

抱歉,我认为这是一个非常简单的问题,但我既找不到好的文档也找不到可编译的示例项目。如果您认为我应该在此处询问之前先 RTFM,您也可以将我指向文档 - 但我找不到任何文档。

谢谢,迈克尔

0 投票
0 回答
116 浏览

c# - LuaInterface & .NET- LuaAPI 失败:L->top < L->ci->top

尝试从.NET 在 LuaInterface Lua VM 实例中设置全局时,我正在努力解决以下错误。

我将全局分配如下:

任何有关该错误的信息将不胜感激!谢谢