炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6464|回复: 10

golang 数据适配器中的api 都在运行时提示加载失败

[复制链接]

该用户从未签到

发表于 2015-11-30 20:25:09 | 显示全部楼层 |阅读模式
本帖最后由 codyguo 于 2015-11-30 21:07 编辑

比如 XAdapterTree_Create
编译时提示:
D:\go\gopath\src\github.com\CodyGuo\xcgui\examples\button>button.exe
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x8 pc=0x482970]

goroutine 1 [running]:
syscall.(*DLL).FindProc(0x0, 0x517f60, 0x13, 0x13, 0x0, 0x0)
        D:/go/src/syscall/dll_windows.go:74 +0x80
github.com/codyguo/xcgui/xc.init.2()
        D:/go/gopath/src/github.com/codyguo/xcgui/xc/adapterTree.go:32 +0x34
github.com/codyguo/xcgui/xc.init()
        D:/go/gopath/src/github.com/codyguo/xcgui/xc/xwm.go:456 +0x5b
github.com/codyguo/xcgui.init()
        D:/go/gopath/src/github.com/codyguo/xcgui/window.go:183 +0x4d
main.init()
        D:/go/gopath/src/github.com/CodyGuo/xcgui/examples/button/button_example
.go:56 +0x43

调用方法:
xAdapterTree_Create, _ = xcDLL.FindProc("XAdapterTree_Create")

/*
创建树元素数据适配器.

返回:
        返回数据适配器句柄.
*/
func XAdapterTreeCreate() HXCGUI {
        ret, _, _ := xAdapterTree_Create.Call()

        return HXCGUI(ret)
}

该用户从未签到

发表于 2015-11-30 20:37:09 | 显示全部楼层
看不懂,似乎发生在 找函数名的位置上。。。。看看你的dll版本,是否导出了 这个函数。。。。
XAdapterTree_Create  

一步一步检测,定位到错误代码行。

该用户从未签到

 楼主| 发表于 2015-11-30 20:40:26 | 显示全部楼层
版本是1.8.9.5,就是这个函数名不对好像,我在数据适配器中的所有函数都是这样的,其他模块没有问题,加载方法一样。

该用户从未签到

发表于 2015-11-30 20:46:43 | 显示全部楼层
我查看了下。。。函数名在dll中是导出了的,,也和你写的一样,你得自己查看一下你的dll是否导出了。或者版本没弄对?

该用户从未签到

 楼主| 发表于 2015-11-30 20:52:15 | 显示全部楼层
好的,我再检查下,写到最后了,这个模块不给面子。

该用户从未签到

发表于 2015-11-30 20:56:00 | 显示全部楼层
codyguo 发表于 2015-11-30 20:52
好的,我再检查下,写到最后了,这个模块不给面子。

坑定是哪里写错了。不然不会出问题

该用户从未签到

 楼主| 发表于 2015-11-30 21:06:03 | 显示全部楼层
已解决,多谢。原来是go里边的坑,我在预加载文件api.go的函数里写的加载dll,谁知道这个数据适配器的文件名称adapterTree.go排在了我的api.go前面,导致没有加载dll时就加载了api。已经更名api.go为aapi.go。

该用户从未签到

发表于 2015-11-30 21:08:31 | 显示全部楼层
codyguo 发表于 2015-11-30 21:06
已解决,多谢。原来是go里边的坑,我在预加载文件api.go的函数里写的加载dll,谁知道这个数据适配器的文件 ...

你真棒

该用户从未签到

发表于 2016-10-29 19:53:38 | 显示全部楼层
我这几天一直用go加载CXGUI.dll,一直没成功!你是怎么加载的,能否给个例子

该用户从未签到

发表于 2016-10-29 21:21:05 | 显示全部楼层
曙光 发表于 2016-10-29 19:53
我这几天一直用go加载CXGUI.dll,一直没成功!你是怎么加载的,能否给个例子

https://github.com/CodyGuo/xcgui

这里是作者翻译的,仅供参考
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-4-26 14:26 , Processed in 0.072294 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表