123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "FrmSamsungCameraF.h"
- #include "AppGlobalF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "AcesTechXPlayer2Lib_OCX"
- #pragma link "cxContainer"
- #pragma link "cxControls"
- #pragma link "cxEdit"
- #pragma link "cxGraphics"
- #pragma link "cxLabel"
- #pragma link "cxLookAndFeelPainters"
- #pragma link "cxLookAndFeels"
- #pragma link "dxSkinsCore"
- #pragma link "dxSkinBlack"
- #pragma link "dxSkinBlue"
- #pragma resource "*.dfm"
- TFrmSamsungCamera *FrmSamsungCamera = NULL;
- //---------------------------------------------------------------------------
- __fastcall TFrmSamsungCamera::TFrmSamsungCamera(TComponent* Owner, TXCctv *ACctv, bool AAutoPlay)
- : TForm(Owner)
- {
- FPlay = false;
- FAutoPlay = AAutoPlay;
- FConHandle = 0;
- FInstalled = false;
- #if 0
- AcesTechXPlayer21 = NULL;
- #else
- //AcesTechXPlayer21->DoubleBuffered = true;
- #endif
- InitCamera(ACctv, FAutoPlay);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::MnuConnectClick(TObject *Sender)
- {
- FAutoPlay = true;
- Connect();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::MnuDisconnectClick(TObject *Sender)
- {
- FAutoPlay = false;
- Disconnect();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::MnuReleaseClick(TObject *Sender)
- {
- CameraRelease();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::Connect()
- {
- Disconnect();
- if (FId.IsEmpty()) return;
- if (FViewAddress.IsEmpty()) return;
- PnlCamera->Caption = "Connect...";
- if (AcesTechXPlayer21) AcesTechXPlayer21->Visible = true;
- try
- {
- if (AcesTechXPlayer21)
- {
- AcesTechXPlayer21->URL = FViewAddress;
- FConHandle = AcesTechXPlayer21->ConnectAsync();
- }
- }
- catch(...)
- {
- }
- FPlay = true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::Disconnect()
- {
- if (!FPlay) return;
- try
- {
- //if (FConHandle)
- {
- if (AcesTechXPlayer21) AcesTechXPlayer21->Close();
- }
- FConHandle = 0;
- }
- catch(...)
- {
- }
- PnlCamera->Caption = "Disconnected";
- if (AcesTechXPlayer21) AcesTechXPlayer21->Visible = false;
- FConHandle = 0;
- FPlay = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::CameraRelease()
- {
- Disconnect();
- PnlCamera->Caption = "";
- if (AcesTechXPlayer21) AcesTechXPlayer21->Visible = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::InitCamera(TXCctv *ACctv, bool AAutoPlay/*=true*/)
- {
- FAutoPlay = AAutoPlay;
- PopupMenu = NULL;
- if (!ACctv)
- {
- FId = "";
- FGroup = "";
- FName = "";
- FStreamingType = "";
- FViewAddress = "";
- FFullAddress = "";
- PnlCamera->Caption = "-Empty-";
- DisplayName(" ");
- FInstalled = false;
- AcesTechXPlayer21->Visible = false;
- try
- {
- String sImageFile = ExtractFilePath(Application->ExeName) + "\\image\\vmscam.bmp";
- ImgNoData->Picture->LoadFromFile(sImageFile);
- ImgNoData->Align = alClient;
- ImgNoData->Visible = true;
- LblName->Visible = false;
- }
- catch(Exception &e)
- {
- ImgNoData->Visible = false;
- }
- }
- else
- {
- #if 0
- AcesTechXPlayer21 = new TAcesTechXPlayer2(this);
- AcesTechXPlayer21->Parent = PnlCamera;
- AcesTechXPlayer21->Align = alClient;
- //AcesTechXPlayer21->DoubleBuffered = true;
- #endif
- //AcesTechXPlayer21->Visible = true;
- FId = ACctv->Id;
- FGroup = ACctv->Group;
- FName = ACctv->Name;
- FStreamingType = ACctv->StreamingType;
- FViewAddress = ACctv->ViewAddress;
- FFullAddress = ACctv->FullAddress;
- PnlCamera->Caption = "Disconnected";
- DisplayName(FName);
- FInstalled = true;
- if (FViewAddress.IsEmpty())
- {
- AcesTechXPlayer21->Visible = false;
- PnlCamera->Caption = "Streamming Address Error";
- }
- else
- {
- PopupMenu = PopupMenu1;
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::DisplayName(String AName)
- {
- LblName->Visible = false;
- LblName->Caption = FName;
- LblName->Transparent = false;
- LblName->Transparent = true;
- LblName->Visible = true;
- LblName->Refresh();
- LblName->BringToFront();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::TmrPlayTimer(TObject *Sender)
- {
- TmrStop->Enabled = false;
- TmrPlay->Enabled = false;
- Connect();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmSamsungCamera::TmrStopTimer(TObject *Sender)
- {
- TmrPlay->Enabled = false;
- TmrStop->Enabled = false;
- Disconnect();
- }
- //---------------------------------------------------------------------------
|