加载VCLua库故障

时间:2016-09-29 16:44:36

标签: lua window

我已下载VCLua库here。我创建了一个名为program.lua的新文件,并在教程中键入了代码:

require "vcl"

mainForm = VCL.Form("mainForm")

mainForm.Caption = "My first VCLua application"
mainForm._= { position="podesktopcenter", height=400, width=600}

mainForm.onclosequery = "onCloseQueryEventHandler" 

function onCloseQueryEventHandler(Sender)
    return true -- the form can be closed
end

mainMenu = VCL.MainMenu(mainForm,"mainMenu")
mainMenu:LoadFromTable({
    {name="mmfile", caption="&File", 
        submenu={
            {name="mmOpen", caption="Open...", onclick="onMenuOpenClick", shortcut="Ctrl+O"}, 
            {caption="-",},
            {caption="Exit", onclick="onMenuExitClick", shortcut="Alt+F4"}, 
        }
    },
    {name="mmhelp", caption="&Help", RightJustify=true, 
        submenu =  {
            {caption="Help", shortcut="F1", checked=true},
            {caption="-",},
        }
    }
})

mainMenu:Find("mmhelp"):Add("mmAbout")._=  {caption="About", 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: error loading module 'vcl' from file 'C:\Users\Admin\Desktop\Programs\lua\vcl.dll':。堆栈跟踪不要说任何有用的东西。所以有人能告诉我,如何解决我的问题?

1 个答案:

答案 0 :(得分:0)

Lua的动态库通常是针对Lua DLL编译的;如果动态库无法找到它链接的Lua DLL,则可能会出现此错误。您可以使用dependency walker之类的工具查看原因/如何失败,它可以显示您的库所依赖的其他DLL以及加载时获得的运行时错误(您可以使用“Profile”)模式来看)。