123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "FrmRtspVmsCamF.h"
- #include "AppGlobalF.h"
- #include "rtspPlayer1F.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- //TFrmRtspVmsCam *FrmRtspVmsCam;
- //---------------------------------------------------------------------------
- __fastcall TFrmRtspVmsCam::TFrmRtspVmsCam(TComponent* Owner)
- : TForm(Owner)
- {
- PnlBlob->Visible = false;
- PnlBlob->Align = alClient;
- FDispBlob = false;
- FObj = NULL;
- FPalyerForm = NULL;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmRtspVmsCam::TmrShowTimer(TObject *Sender)
- {
- TmrShow->Enabled = false;
- if (FObj)
- {
- Caption = String(FObj->VMS_CTLR_NMBR) + ": " + FObj->VMS_NM;
- if (FDispBlob == false)
- {
- CamPlay();
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmRtspVmsCam::FormShow(TObject *Sender)
- {
- if (FObj) PnlBack->Caption = FObj->VMS_NM;
- else PnlBack->Caption = "";
- RefreshCctv();
- TmrShow->Enabled = true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmRtspVmsCam::CamPlay()
- {
- if (!FObj) return;
- FPalyerForm = rtspPlayer1_create(this, PnlBack, FObj->STRM_SESN_NM, String(FObj->VMS_CTLR_NMBR), FObj->VMS_NM);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmRtspVmsCam::CamStop()
- {
- if (FPalyerForm)
- {
- rtspPlayer1_stop(FPalyerForm);
- FPalyerForm = NULL;
- }
- if (!FObj) return;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmRtspVmsCam::FormClose(TObject *Sender, TCloseAction &Action)
- {
- try {
- CamStop();
- FObj->FData2 = NULL;
- } catch(...) {}
- Action = caFree;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmRtspVmsCam::FormDestroy(TObject *Sender)
- {
- try {
- CamStop();
- FObj->FData2 = NULL;
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmRtspVmsCam::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
- }
- //---------------------------------------------------------------------------
|