// 释放动态库 void __fastcall TForm1::FormDestroy(TObject *Sender) { DevInfo *pDev; for(int i = 0; i < pDevList->Count; i++) { pDev = PDevInfo(pDevList->Items[i]); if(pDev != NULL) { if(pDev->pHandle != NULL) { int nRes = DisconnectCamera(pDev->pHandle); if(pDev != NULL) { delete pDev; pDev = NULL; } pDevList->Delete(i); tvConnectDev->Items->Delete(tvConnectDev->Selections[i]); } } } if(pDevList != NULL) { delete pDevList; pDevList = NULL; } if(hHandle != NULL) { FreeLibrary(hHandle); hHandle = NULL; } }
void __fastcall TForm1::btnQuitClick(TObject *Sender) { int nRes = 0; // 释放设备列表 DevInfo *pDev; for(int i = 0; i < pDevList->Count; i++) { pDev = PDevInfo(pDevList->Items[i]); if(pDev != NULL) { if(pDev->pHandle != NULL) { int nRes = DisconnectCamera(pDev->pHandle); if(pDev != NULL) { delete pDev; pDev = NULL; } pDevList->Delete(i); tvConnectDev->Items->Delete(tvConnectDev->Selections[i]); } } } // 释放动态库 nRes = Quit(); if(nRes == 0) ShowMessage("退出成功"); else ShowMessage("退出失败,返回值 = " + IntToStr(nRes)); }
void __fastcall TForm1::btnDisConnClick(TObject *Sender) { int nItem = 0; // 获取当前选中项IP nItem = tvConnectDev->SelectionCount; String strIP; String strDevListIP; PDevInfo pDev = NULL; for(int i = 0; i < nItem; i++) { strIP = tvConnectDev->Selections[i]->Text; for(int j = 0; j < pDevList->Count; j++) { pDev = PDevInfo(pDevList->Items[j]); if(pDev != NULL) { strDevListIP.sprintf("%s", pDev->ucIP); if(strDevListIP == strIP) { if(pDev->pHandle != NULL) { int nRes = DisconnectCamera(pDev->pHandle); if(nRes != 0) ShowMessage("断开失败,返回值 = " + IntToStr(nRes)); else { if(pDev != NULL) { delete pDev; pDev = NULL; } pDevList->Delete(j); tvConnectDev->Items->Delete(tvConnectDev->Selections[i]); } } } } } } }
ToFCameraMITKPlayerDevice::~ToFCameraMITKPlayerDevice() { DisconnectCamera(); CleanUpDataBuffers(); }
wxWebcamV4L2::~wxWebcamV4L2() { // disconnect the camera StopCapture(); DisconnectCamera(); }