C++ Builder 出現(xiàn)的問題?幫忙看看........

2008361543574.jpg

源文件這樣寫的...

VOID CALLBACK CH375_DEVICE_ARRIVAL_REMOVE_EVENT(ULONG iEventStatus ) { if(iEventStatus == CH375_DEVICE_ARRIVAL) { FormMain->MainFrmStatusBar->Panels->Items[0]->Text ="設(shè)備已經(jīng)連接..."; } else if(iEventStatus == CH375_DEVICE_REMOVE) { FormMain->MainFrmStatusBar->Panels->Items[0]->Text ="設(shè)備沒有連接..."; } }

CH375SetTimeout( mIndex, 3000, 3000 ); // 設(shè)置USB數(shù)據(jù)讀寫的超時(shí),超過3000mS未完成讀寫將強(qiáng)制返回,避免一直等待下去 CH375SetExclusive( mIndex, FALSE ); // 臨時(shí)設(shè)置共享使用當(dāng)前CH375設(shè)備,因?yàn)橄旅嬖O(shè)置中斷服務(wù)程序時(shí)需要使用當(dāng)前這個(gè)CH375設(shè)備 //初始化設(shè)備插拔事件 CH375SetDeviceNotify(mIndex,0,CH375_DEVICE_ARRIVAL_REMOVE_EVENT); CH375SetExclusive( mIndex, TRUE ); // 設(shè)置獨(dú)占使用當(dāng)前CH375設(shè)備,在此之后其它應(yīng)用程序不能同時(shí)使用當(dāng)前這個(gè)CH375設(shè)備


//---------------------------------------------------------------------------

#include #pragma hdrstop

#include "BCB_BLS.h" #include "CH375DLL.H" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TFormMain *FormMain; HWND mSaveDialogMain; // 主對(duì)話框 unsigned char mIndex; //--------------------------------------------------------------------------- __fastcall TFormMain::TFormMain(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- // 設(shè)備插拔事件和當(dāng)前狀態(tài)(在下行定義): 0=設(shè)備拔出事件, 3=設(shè)備插入事件 //--------------------------------------------------------------------------- VOID CALLBACK CH375_DEVICE_ARRIVAL_REMOVE_EVENT(ULONG iEventStatus ) { if(iEventStatus == CH375_DEVICE_ARRIVAL) { FormMain->MainFrmStatusBar->Panels->Items[0]->Text ="設(shè)備已經(jīng)連接..."; } else if(iEventStatus == CH375_DEVICE_REMOVE) { FormMain->MainFrmStatusBar->Panels->Items[0]->Text ="設(shè)備沒有連接..."; } } //--------------------------------------------------------------------------- void __fastcall TFormMain::FormCreate(TObject *Sender) { unsigned char *iDeviceID; mIndex = 0;

if ( LoadLibrary( "CH375DLL.DLL" ) == NULL ) // 加載DLL失敗,可能未安裝到系統(tǒng)中 { MessageBox(0,"無法加載CH372的DLL", "提示信息", MB_ICONSTOP | MB_OK ); } else if ( CH375OpenDevice(0) == INVALID_HANDLE_VALUE ) // 使用之前必須打開設(shè)備 { FormMain->MainFrmStatusBar->Panels->Items[0]->Text ="設(shè)備沒有連接..."; } else { FormMain->MainFrmStatusBar->Panels->Items[0]->Text ="設(shè)備已經(jīng)連接..."; } // CH375SetTimeout( mIndex, 3000, 3000 ); // 設(shè)置USB數(shù)據(jù)讀寫的超時(shí),超過3000mS未完成讀寫將強(qiáng)制返回,避免一直等待下去 CH375SetExclusive( mIndex, FALSE ); // 臨時(shí)設(shè)置共享使用當(dāng)前CH375設(shè)備,因?yàn)橄旅嬖O(shè)置中斷服務(wù)程序時(shí)需要使用當(dāng)前這個(gè)CH375設(shè)備 //初始化設(shè)備插拔事件 //CH375SetDeviceNotify(mIndex,iDeviceID,CH375_DEVICE_ARRIVAL_REMOVE_EVENT); CH375SetExclusive( mIndex, TRUE ); // 設(shè)置獨(dú)占使用當(dāng)前CH375設(shè)備,在此之后其它應(yīng)用程序不能同時(shí)使用當(dāng)前這個(gè)CH375設(shè)備 }


樓主 可以參考一下:http://www.findthetime.net/bbs/View.asp?S=101&I=10683


樓主也可以到這個(gè)鏈接 http://www.findthetime.net/download/list.asp?id=29 下載CH372EVT,在CH372EVT\BC目錄下有一個(gè)有關(guān)BC的例子程序


我就是參照http://www.findthetime.net/bbs/View.asp?S=101&I=10683 改的.........

不是所有函數(shù)不能用,我想添加一個(gè)設(shè)備的插拔事件出來的問題,就是設(shè)備的插入或設(shè)備的拔出觸發(fā)的事件

http://www.findthetime.net/download/list.asp?id=29 給出的是BC的,在BCB下老是提示有問題


我就是根據(jù)http://www.findthetime.net/bbs/View.asp?S=101&I=10683修改的程序

如果不用USB中斷事件,USB插拔事件的情況下可以與設(shè)備正常通訊,寫數(shù)據(jù)和讀數(shù)據(jù)都很正常,只要使用了事件觸發(fā)就出這種問題............

希望做過的大俠指點(diǎn)一二.....

我現(xiàn)在的處理方式使用Timer查詢是可以使用的.........


總算搞定了,在網(wǎng)站下載的文件包中的文件CH375DLL.DEF少了函數(shù)聲明 CH375DLL.CH375SetDeviceNotify

但是這句沒有任何警告 CH375SetDeviceNotify(mIndex,iDeviceID,CH375_DEVICE_ARRIVAL_REMOVE_EVENT);

而且編譯全部通過,可以生成.EXE可執(zhí)行文件,但是程序一運(yùn)行就出錯(cuò),所以一直難差問題所在.....


我也遇到同樣的問題,請(qǐng)問能提供一下你的測試工程嗎?我的郵箱:個(gè)人信息保護(hù),已隱藏


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频