一尘不染

GUI未运行-在DLL中找不到入口点

go

我正在尝试遵循简单的GUI代码:

package main
import ("github.com/andlabs/ui"; "os")
func main() {
    ui.Main(makeMainWin)
}
func makeMainWin(){
    var mainWindow = ui.NewWindow("MyTitle", 500, 250, false) 
    var mainbox = ui.NewVerticalBox()
    mainbox.Append(ui.NewLabel("A Label"), false)
    var exitButton = ui.NewButton("Exit")
    exitButton.OnClicked( func(*ui.Button){os.Exit(0)} )
    mainbox.Append(exitButton, false)
    mainWindow.SetChild(mainbox)
    mainWindow.OnClosing( func (*ui.Window) bool { ui.Quit(); return true   } )
    mainWindow.Show()
}

该代码的编译和生成没有任何错误或警告。但是,当我尝试从命令行运行它时,出现以下错误:

exit status -1073741511

双击生成的exe文件时,出现一个包含以下消息的对话框:

The procedure entry point TaskDialog could not be located 
in the dynamic link library COMCTL32.DLL

我运行CCleaner并修复了大量注册表问题,但上述问题仍然存在。

我正在Windows7上使用以下版本:

go version go1.12.9 windows/386

gcc (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0

问题在哪里,如何解决?谢谢你的帮助。


阅读 359

收藏
2020-07-02

共1个答案

一尘不染

您需要一个清单,指示Windows加载常用控件。您是否已按照https://github.com/andlabs/ui/blob/master/README.md上的说明进行操作,尤其是有关winres导入的说明?

2020-07-02