我已下载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':
。堆栈跟踪不要说任何有用的东西。所以有人能告诉我,如何解决我的问题?
答案 0 :(得分:0)
Lua的动态库通常是针对Lua DLL编译的;如果动态库无法找到它链接的Lua DLL,则可能会出现此错误。您可以使用dependency walker之类的工具查看原因/如何失败,它可以显示您的库所依赖的其他DLL以及加载时获得的运行时错误(您可以使用“Profile”)模式来看)。