你好,我在使用官方提供的WCHBLelib示例demo,可以正常運(yùn)行。然后我用VS2019創(chuàng)建新的MFC項(xiàng)目,參考demo添加代碼后也能正常運(yùn)行。但是當(dāng)我在一個(gè)已有的MFC項(xiàng)目里新增對(duì)話框,然后參考demo添加同樣的代碼,新增的對(duì)話框在初始化時(shí)調(diào)用WCHBLEInit()函數(shù)就會(huì)報(bào)錯(cuò),報(bào)錯(cuò)如下圖所示。不知道是哪里出了問(wèn)題,是否有大佬指教?謝謝
看起來(lái)是庫(kù)沒(méi)有加載成功,可以在程序里包含一下:
#include?"WCHBLEDLL.h"
#pragma?comment?(lib,"WCHBLEDLL.lib")
還是不行,感覺(jué)庫(kù)應(yīng)該是加載成功了,因?yàn)閃in10環(huán)境下,我注釋掉初始化代碼,程序依舊能正常執(zhí)行,后面的藍(lán)牙查詢和連接設(shè)備,讀取數(shù)據(jù)都能正常運(yùn)行。
另外,我的這個(gè)MFC程序是用的VS2010開(kāi)發(fā)的項(xiàng)目,最近升級(jí)到VS2019下的,不知道跟這個(gè)有沒(méi)有關(guān)系。
您發(fā)送郵件至sry@wch.cn,這里我們的軟件工程師會(huì)溝通解決一下。
好的,郵件已發(fā),感謝指導(dǎo)!
郵件沒(méi)有人回復(fù)啊 --
看了一下,郵件沒(méi)有收到。解決方法:
? 加try -catch把這個(gè)異常捕獲了,不用管這個(gè)異常。原因是WCHBLEInit還是調(diào)用了類(lèi)似AfxOleInit的函數(shù),如果MFC在APP初始化時(shí)也調(diào)用了類(lèi)似的函數(shù),WCHBLEInit再調(diào)用這個(gè)函數(shù)時(shí)就會(huì)拋出異常。
好像確實(shí)是AfxOleInit()問(wèn)題,我的MFC程序用了一些Active X控件,所以需要這個(gè)OLE初始化操作。我嘗試按照您說(shuō)的使用try catch語(yǔ)句來(lái)屏蔽這個(gè)WCHBLEIint()的報(bào)錯(cuò),但是在try語(yǔ)句中無(wú)法捕獲這個(gè)異常。還是會(huì)出現(xiàn)下圖的報(bào)錯(cuò)。
這里您留一個(gè)郵箱,我們提供一份新的庫(kù)進(jìn)行驗(yàn)證使用。
個(gè)人信息保護(hù),已隱藏;多謝!!
已發(fā)送至郵箱,請(qǐng)查收。
非常感謝,新的庫(kù)文件已經(jīng)測(cè)試,已回復(fù)郵箱,但是不知道您這邊收到?jīng)]有。測(cè)試發(fā)現(xiàn)WCHBLEInit()函數(shù)能夠正常運(yùn)行,但是在嘗試打開(kāi)藍(lán)牙設(shè)備時(shí),卡死在g_devhandle = WCHBLEOpenDevice(g_blepath, FunDevConnChange);
似乎是回調(diào)函數(shù)FunDevConnChange沒(méi)有執(zhí)行。
相應(yīng)的郵件已回復(fù),請(qǐng)查收。
抱歉,郵箱沒(méi)有查收到新郵件
郵件沒(méi)有收到,有可能是被當(dāng)做垃圾郵箱了。打開(kāi)設(shè)備失敗的問(wèn)題,用WCHBLelib示例demo是否正常?
垃圾郵件里也沒(méi)有,示例demo是正常的。感覺(jué)還是那個(gè)WCHBLEInit()初始化的問(wèn)題。