VCLua库加载故障

我已经在这里下载了VCLua库(http://vclua.luaforge.net/tut01.html)。我创建了一个名为program.lua的新文件,键入了该教程中的代码:

require "vcl"

mainForm = VCL.Form("mainForm")

mainForm.Caption = "我的第一个VCLua应用程序"
mainForm._={position="podesktopcenter",height=400,width=600}

mainForm.onclosequery = "onCloseQueryEventHandler"

function onCloseQueryEventHandler(Sender)
    返回true - 表单可以关闭
end

mainMenu = VCL.MainMenu(mainForm,"mainMenu")
mainMenu:LoadFromTable({
    {name="mmfile", caption="&文件",
        submenu={
            {name="mmOpen", caption="打开...", onclick="onMenuOpenClick", shortcut="Ctrl+O"},
            {caption="-",},
            {caption="退出", onclick="onMenuExitClick", shortcut="Alt+F4"},
        }
    },
    {name="mmhelp", caption="&帮助", RightJustify=true,
        submenu =  {
            {caption="帮助", shortcut="F1", checked=true},
            {caption="-",},
        }
    }
})

mainMenu:Find("mmhelp"):Add("mmAbout")._=  {caption="关于", onclick="onMenuAboutClick", enabled=false}

function onMenuExitClick()
    mainForm:Close()
end

mainToolbar = VCL.ToolBar(mainForm,"mainToolbar")
mainToolbar:LoadFromTable({
    {name="mtbOpen", onclick="onMenuOpenClick"},
    {name="mtbExit", onclick="onMenuExitClick"},
})

mainToolbar:Find("mtbOpen").enabled=false

mainForm:ShowModal()

mainForm:Free()

但是当我想运行它时(我在lua解释器所在的目录中有vcl.dll和vcl.so文件),它会写出lua:从文件' C:\Users\Admin\Desktop\Programs\lua\vcl.dll'加载模块' vcl '时出错:。堆栈跟踪没有任何有用的信息。所以有没有人能告诉我如何解决我的问题?

点赞
用户1442917
用户1442917

Lua 的动态库通常是针对 Lua DLL 进行编译的;在动态库无法找到它链接的 Lua DLL 时可能会出现此错误。您可以使用像 dependency walker 这样的工具来查看它失败的原因/方式,它可以向您显示您的库依赖于哪些其他 DLL,以及在加载它时您会遇到哪些运行时错误(您可以使用“Profile”模式来查看)。

2016-09-30 05:01:07