大华的 SDK 看得我快吐了。求老哥帮助。
不白嫖。暂定 400 块。
大华的 MFC 示例程序,已有功能:登陆,查询客流量
功能流程:登陆——查询昨日数据——保存入 mysql。
目的是为了定时将数据(昨日人流进出)存入数据库。
所以改写成 C++最好。或者 MFC 改一下,仅仅查昨日数据,然后保存入 mysql 也可以。
可以外部或者内部都行。
参考:
联系方式:tg:zweic wx:Zeichan
1
Barrydahua 2020-03-15 01:18:41 +08:00
hahaha,大华的 SDK 能用 /?
|
2
czwstc OP @Barrydahua /dog 我觉得,大华的人写的时候一定非常牛逼吧。
|
3
SpencerCJH 2020-03-15 02:44:36 +08:00
好有年代感的样子....
|
4
czwstc OP @SpencerCJH 文档里推荐环境:vs2005
|
5
levelworm 2020-03-15 08:21:17 +08:00
本文中的所有示例代码仅在 Windows7 操作系统下 VC++6.0 测试过。
看我的颤抖。。。 |
6
levelworm 2020-03-15 08:23:25 +08:00
话说运行时报错报的是什么?懒得装 VC 6.0 试了。。。
|
7
levelworm 2020-03-15 08:31:25 +08:00 1
正在链接...
main.obj : error LNK2019: 无法解析的外部符号 __imp__CLIENT_GetLastError@0,该符号在函数 "void __cdecl InitTest(void)" (?InitTest@@YAXXZ) 中被引用 main.obj : error LNK2019: 无法解析的外部符号 __imp__CLIENT_LoginEx2@32,该符号在函数 "void __cdecl InitTest(void)" (?InitTest@@YAXXZ) 中被引用 main.obj : error LNK2019: 无法解析的外部符号 __imp__CLIENT_SetAutoReconnect@8,该符号在函数 "void __cdecl InitTest(void)" (?InitTest@@YAXXZ) 中被引用 main.obj : error LNK2019: 无法解析的外部符号 __imp__CLIENT_Init@8,该符号在函数 "void __cdecl InitTest(void)" (?InitTest@@YAXXZ) 中被引用 main.obj : error LNK2019: 无法解析的外部符号 __imp__CLIENT_Cleanup@0,该符号在函数 "void __cdecl EndTest(void)" (?EndTest@@YAXXZ) 中被引用 main.obj : error LNK2019: 无法解析的外部符号 __imp__CLIENT_Logout@4,该符号在函数 "void __cdecl EndTest(void)" (?EndTest@@YAXXZ) 中被引用 C:\Users\Administrator\Documents\Visual Studio 2005\Projects\fix\Debug\fix.exe : fatal error LNK1120: 6 个无法解析的外部命令 好奇一把,VS Studio 的 lib 都设置好了么?感觉是没找到这些 SDK 里头的函数啊。不过我水平有限。。。 |
8
levelworm 2020-03-15 08:37:50 +08:00
啊我弄错了,那个客流量才是你的程序吧
|
9
ybw 2020-03-15 09:58:50 +08:00 via Android
800
|
10
tairan2006 2020-03-15 09:59:27 +08:00 via Android
这也太古老了
|
11
augustheart 2020-03-15 11:43:57 +08:00
如果能符号确定存在的话,基本上就是出在 dllexport 和 dllimport 的定义上了
|
12
augustheart 2020-03-15 11:45:48 +08:00
@augustheart 呃,上面说的是 7 楼的报错
|
14
mclxly 2020-03-15 12:46:06 +08:00 1
看错误信息好像是编译时没有找到对应的 lib, 没环境懒得实操
|
15
czwstc OP @levelworm 发现了,似乎 lib 是 64 位的。改 换 32 位 sdk 的 lib 和 dll 好像可以运行。
|
16
augustheart 2020-03-15 14:06:46 +08:00 1
试着编译了一下,vs19 下面直接转换直接就过了
|
17
augustheart 2020-03-15 14:09:28 +08:00 1
粗看了一下,楼主要的东西应该就在
BOOL CHistoryQuery::StartFindNumberState(int nChannel, int nType) 和 int CHistoryQuery::DoFindNumberStarteEx(int nBegin, int nSearchCount) 里面 不过,其实我根本没搞清楚楼主要啥 (“看起来很简单”,键盘党发出了轻而易举的声音) ……逃 |
18
yngzij 2020-03-15 18:46:12 +08:00
可惜手里没有 windows 摊手
|
19
czwstc OP |
20
jeffw 2020-03-15 21:52:39 +08:00
@czwstc CLIENT_StartFindNumberStat 输出的是返回值,返回值是查询句柄,然后把查询句柄传入 CLIENT_DoFindNumberStat 函数进行查询,我不知道哪里错的不对,调用 CLIENT_DoFindNumberStat 后,就自动断线了,CLIENT_DoFindNumberStat 返回-1。 调用 CLIENT_GetLastError 返回的错误码是 0x80000002,即 NET_NETWORK_ERROR,查文档,意思是“网络错误,可能因为网络超时”,卡在这个问题上 2 个小时没解决,最后没办法只能改厂家 demo 了。
|
21
czwstc OP 此帖终结:大佬 @jeffw 解决了。虽然遇到 sdk 瞎几把注释,文档各种不全的情况下。直接修改厂家的 MFC domo,然后把功能加出来了。
数据可视化之拿数据之殇。 |
23
gfanny 2020-03-16 13:52:53 +08:00
用过大华 SDK,MFC 的程序只能用 VS2005,内部就是用这个版本的。还不能换
|