我想知道是否有人有任何关于集成Lua和VB6的技巧 . 我正在运行一个小的在线RPG,可以添加一些脚本 .
嗯,这是可行的 . 我曾经为Lua 5.0.2做过,但我找不到文件 . 在您拥有的选项中,您可以:
在一个暴露Lua API的COM dll中包装Lua,所以在VB中你可以添加对它的引用 .
使用__stdcall调用约定构建自定义Lua版本,因此可以使用VB中的Declare导入所需的Lua函数 . 编写类型库将大大减轻与VB的集成(主要是,它将为您执行从C字符串到VB字符串的转换) .
构建一个包装器DLL,复制Lua的接口,但使用__stdcall,添加用宏定义的函数等 .
我记得使用自定义构建的Lua,我可以将VB函数(在模块中定义)注册到Lua中并从脚本中调用它们 . 我不记得我是否曾致电成员函数 .
我希望这可以帮助你入门 .
使用LuaInterface . 它是一个.NET库,允许您使用lua . 然而,它本身并没有提供文档,请查看this以获取一些有用的指南 .
基本上,您将DLL添加到项目中并使用声明引用它/ add,然后创建一个新的Lua对象 . 从那里,您可以像提取变量的数组一样访问它,并且有调用lua函数和操作表的方法 .
2 回答
嗯,这是可行的 . 我曾经为Lua 5.0.2做过,但我找不到文件 . 在您拥有的选项中,您可以:
在一个暴露Lua API的COM dll中包装Lua,所以在VB中你可以添加对它的引用 .
使用__stdcall调用约定构建自定义Lua版本,因此可以使用VB中的Declare导入所需的Lua函数 . 编写类型库将大大减轻与VB的集成(主要是,它将为您执行从C字符串到VB字符串的转换) .
构建一个包装器DLL,复制Lua的接口,但使用__stdcall,添加用宏定义的函数等 .
我记得使用自定义构建的Lua,我可以将VB函数(在模块中定义)注册到Lua中并从脚本中调用它们 . 我不记得我是否曾致电成员函数 .
我希望这可以帮助你入门 .
使用LuaInterface . 它是一个.NET库,允许您使用lua . 然而,它本身并没有提供文档,请查看this以获取一些有用的指南 .
基本上,您将DLL添加到项目中并使用声明引用它/ add,然后创建一个新的Lua对象 . 从那里,您可以像提取变量的数组一样访问它,并且有调用lua函数和操作表的方法 .