123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "FrmVmsCamF.h"
- #include "AppGlobalF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "AcesTechXPlayer2Lib_OCX"
- #pragma resource "*.dfm"
- //TFrmCctvCam *FrmCctvCam;
- //---------------------------------------------------------------------------
- __fastcall TFrmVmsCam::TFrmVmsCam(TComponent* Owner)
- : TForm(Owner)
- {
- PnlBlob->Visible = false;
- PnlBlob->Align = alClient;
- FDispBlob = false;
- FObj = NULL;
- FPlay = false;
- FAutoPlay = true;
- FConHandle = 0;
- //AcesTechXPlayer21->DoubleBuffered = true;
- InitCamera(NULL, FAutoPlay);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::TmrShowTimer(TObject *Sender)
- {
- TmrShow->Enabled = false;
- if (FObj)
- {
- Caption = String(FObj->VMS_CTLR_NMBR) + ": " + FObj->VMS_NM;
- if (FDispBlob == false)
- {
- Connect();
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::FormShow(TObject *Sender)
- {
- if (FObj) PnlBack->Caption = FObj->ISTL_LCTN_NM;
- else PnlBack->Caption = "";
- RefreshCctv();
- TmrShow->Enabled = true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::FormClose(TObject *Sender, TCloseAction &Action)
- {
- try {
- Disconnect();
- FObj->FData2 = NULL;
- } catch(...) {}
- Action = caFree;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::FormDestroy(TObject *Sender)
- {
- try {
- Disconnect();
- FObj->FData2 = NULL;
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::RefreshCctv()
- {
- FDispBlob = false;
- PnlBlob->Visible = false;
- #if 0
- String sQry;
- if (!FObj)
- {
- return;
- }
- sQry = "SELECT CCTV_SBST_DSPL_YN, CCTV_SBST_IMGN \r\n"
- " FROM TB_CCTV_CTLR \r\n"
- " WHERE CCTV_CTLR_ID = :p01 \r\n";
- try
- {
- pADO->Close();
- pADO->SQL->Clear();
- pADO->Connection = ITSDb_GetConnection();
- pADO->SQL->Text = sQry;
- pADO->Parameters->ParamByName("p01")->Value = FObj->CCTV_CTLR_ID;
- pADO->Open();
- }
- catch(EDatabaseError &E)
- {
- PnlBlob->Caption = "대체영상 이미지 정보 읽기 실패";
- ShowMessage(String(E.ClassName()) + E.Message);
- return;
- }
- if (pADO->RecordCount == 0)
- {
- pADO->Close();
- return;
- }
- ForceDirectories(g_sTempDir);
- TADOBlobStream *BS;
- int nFileSize = 0;
- String sImgFile = g_sTempDir + "CCTVB_" + FObj->CCTV_CTLR_ID + ".bmp";
- try {
- DeleteFile(sImgFile);
- } catch(...) {}
- String sDispBlob;
- try
- {
- sDispBlob = pADO->FieldByName("CCTV_SBST_DSPL_YN")->AsString;
- if (sDispBlob == "Y")
- {
- BS = (TADOBlobStream *)pADO->CreateBlobStream(pADO->FieldByName("CCTV_SBST_IMGN"), bmRead);
- //ImgBlob->Picture->Graphic->LoadFromStream(BS);
- BS->SaveToFile(sImgFile);
- nFileSize = BS->Size;
- delete BS;
- }
- pADO->Close();
- }
- catch(Exception &e)
- {
- delete BS;
- PnlBlob->Caption = "대체영상 이미지 스트림 로딩 실패";
- return;
- }
- if (sDispBlob == "Y")
- {
- FDispBlob = true;
- PnlBlob->Visible = true;
- PnlBack->Visible = false;
- if (nFileSize)
- {
- try
- {
- ImgBlob->Picture->LoadFromFile(sImgFile);
- return;
- }
- catch(...)
- {
- ImgBlob->Visible = false;
- PnlBlob->Caption = "대체영상 이미지 파일 로딩 실패";
- return;
- }
- }
- else
- {
- ImgBlob->Visible = false;
- PnlBlob->Caption = "대체영상 이미지 사이즈 오류";
- }
- }
- else
- {
- FDispBlob = false;
- PnlBlob->Visible = false;
- PnlBack->Visible = true;
- }
- #endif
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::MnuConnectClick(TObject *Sender)
- {
- FAutoPlay = true;
- Connect();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::MnuDisconnectClick(TObject *Sender)
- {
- FAutoPlay = false;
- Disconnect();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::Connect()
- {
- Disconnect();
- PnlBack->Caption = "연결중...";
- //AcesTechXPlayer21->Visible = true;
- try
- {
- if (FObj->STRM_SESN_NM != "")
- {
- //AcesTechXPlayer21->URL = FObj->STRM_SESN_NM;
- //FConHandle = AcesTechXPlayer21->ConnectAsync();
- }
- }
- catch(...)
- {
- }
- FPlay = true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::Disconnect()
- {
- if (!FPlay) return;
- try
- {
- //if (FConHandle)
- {
- //AcesTechXPlayer21->Close();
- }
- FConHandle = 0;
- }
- catch(...)
- {
- }
- PnlBack->Caption = "Disconnected";
- //AcesTechXPlayer21->Visible = false;
- FConHandle = 0;
- FPlay = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsCam::InitCamera(void *ACctv, bool AAutoPlay/*=true*/)
- {
- FAutoPlay = AAutoPlay;
- }
- //---------------------------------------------------------------------------
|