Ejemplo n.º 1
0
// 释放动态库
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;
    }
}
Ejemplo n.º 2
0
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));
}
Ejemplo n.º 3
0
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();
}
Ejemplo n.º 5
0
wxWebcamV4L2::~wxWebcamV4L2()
{
   // disconnect the camera
   StopCapture();
   DisconnectCamera();
}