Scripting VB6-Lua集成

Scripting VB6-Lua集成,scripting,vb6,lua,Scripting,Vb6,Lua,我想知道是否有人对集成Lua和VB6有什么建议。我正在运行一个小的在线RPG,添加一些脚本将非常棒。好吧,这是可行的。我曾经为Lua5.0.2做过,但是我找不到文件。在您拥有的选项中,您可以: 在COM dll中封装Lua,公开Lua API,以便在VB中添加对它的引用 使用u stdcall调用约定构建自定义Lua版本,这样您就可以在VB中使用Declare来导入所需的Lua函数。编写类型库将大大简化与VB的集成(主要是为您完成从C字符串到VB字符串的转换) 构建一个包装器DLL,它复制Lu

我想知道是否有人对集成Lua和VB6有什么建议。我正在运行一个小的在线RPG,添加一些脚本将非常棒。

好吧,这是可行的。我曾经为Lua5.0.2做过,但是我找不到文件。在您拥有的选项中,您可以:

  • 在COM dll中封装Lua,公开Lua API,以便在VB中添加对它的引用

  • 使用u stdcall调用约定构建自定义Lua版本,这样您就可以在VB中使用Declare来导入所需的Lua函数。编写类型库将大大简化与VB的集成(主要是为您完成从C字符串到VB字符串的转换)

  • 构建一个包装器DLL,它复制Lua的接口,但使用u stdcall,添加用宏定义的函数,等等

我记得使用定制的Lua,我可以将VB函数(在模块中定义)注册到Lua中,并从脚本中调用它们。我不记得我有没有让它调用成员函数

我希望这可以帮助您开始。

使用。它是一个.NET库,允许您使用lua。但是,它本身并没有文档,请查看一些有用的指南


基本上,将DLL添加到项目中,并使用saments引用它/添加,然后创建一个新的Lua对象。从那里,您可以像访问数组一样访问它以提取变量,还有调用lua函数和操作表的方法。

+1。请注意,Matt Curland的书“Advanced Visual Basic 6”中包含了一种从VB6调用CDECL DLL的方法,但由于它会给每个函数调用增加开销,因此需要谨慎使用。也许最好为这个LUA RPG thingy构建一个自定义的stdcall版本。开销是关于字符串赋值的大小和性能:-)@wqw:的确,大多数时候开销可能不相关,就像字符串赋值的开销大部分不相关一样。问题是指VB 6而不是VB.NET