Browse Source

dev-vms immediately display button add

shjung 1 year ago
parent
commit
6f701078dd

BIN
RUN/logo1.png


BIN
RUN/logo2.png


+ 54 - 4
VmsCmraViewer/SRC/FrmCameraPlayerF.cpp

@@ -44,14 +44,15 @@ void __fastcall TFrmCameraPlayer::TmrShowTimer(TObject *Sender)
     {
         PopupMenu = PopupMenu1;
         ImgNoData->Visible = false;
-        PnlName->Caption = CTLR_NMBR + ": " + NAME;
+        //PnlName->Caption = CTLR_NMBR + ": " + NAME;
+        PnlName->Caption = " " + NAME;
         Play();
     }
     else
     {
         PasLibVlcPlayer1->Visible = false;
         PopupMenu = NULL;
-        PnlCamera->Caption = NAME;
+        PnlCamera->Caption = " " + NAME;
         LoadEmptyImage();
     }
 }
@@ -169,11 +170,28 @@ void __fastcall TFrmCameraPlayer::Play()
     CameraLog("--- ¿µ»ó ¿¬°á Áß ---");
     try
     {
+        ///--udp-caching=500 --tcp-caching=500 --realrtsp-caching=500
+        //ffplay.exe rtsp://224.1.1.1:8086 -fflags nobuffer -flags low_delay -avioflags direct -fflags discardcorrupt
+
         //PasLibVlcPlayer1->VLC->Path = "plugins";
-        PasLibVlcPlayer1->VLC->AddOption("http-caching=300");
+        //PasLibVlcPlayer1->VLC->AddOption("http-caching=300");
+        PasLibVlcPlayer1->VLC->AddOption("live-capture-caching=300");
         PasLibVlcPlayer1->VLC->AddOption("file-caching=300");
-        PasLibVlcPlayer1->VLC->AddOption("network-caching=500");
+        PasLibVlcPlayer1->VLC->AddOption("disk-caching=300");
+        PasLibVlcPlayer1->VLC->AddOption("network-caching=300");
         //PasLibVlcPlayer1->VLC->AddOption("avcodec-hw=none");
+        //PasLibVlcPlayer1->VLC->AddOption("avcodec-hw={any,d3d11va,dxva2,none}");
+        //PasLibVlcPlayer1->VLC->AddOption("avcodec-threads=0");
+        //PasLibVlcPlayer1->VLC->AddOption("no-sout-all");
+        //PasLibVlcPlayer1->VLC->AddOption("sout-keep");
+
+        //PasLibVlcPlayer1->VLC->AddOption(":file-caching=300");
+        //PasLibVlcPlayer1->VLC->AddOption(":network-caching=300");
+        //PasLibVlcPlayer1->VLC->AddOption(":avcodec-hw=none");
+        //PasLibVlcPlayer1->VLC->AddOption("--avcodec-threads=0");
+        //PasLibVlcPlayer1->VLC->AddOption(":no-sout-all");
+        //PasLibVlcPlayer1->VLC->AddOption(":sout-keep");
+
         PasLibVlcPlayer1->Play(STRM_ADDR);
         FConHandle = 1;
 
@@ -187,6 +205,8 @@ void __fastcall TFrmCameraPlayer::Play()
             }
         }
 
+        //PnlName->Caption = libvlc_get_install_path();
+
         Application->ProcessMessages();
     }
     catch(Exception &e)
@@ -378,6 +398,36 @@ void __fastcall TFrmCameraPlayer::PasLibVlcPlayer1MediaPlayerPositionChanged(TOb
     if (ImgNoData->Visible == true) {
         ImgNoData->Visible = false;
     }
+#if 0
+  case PasLibVlcPlayer1.GetState() of
+    plvPlayer_NothingSpecial: stateName := 'Idle';
+    plvPlayer_Opening:        stateName := 'Opening';
+    plvPlayer_Buffering:      stateName := 'Buffering';
+    plvPlayer_Playing:        stateName := 'Playing';
+    plvPlayer_Paused:         stateName := 'Paused';
+    plvPlayer_Stopped:        stateName := 'Stopped';
+    plvPlayer_Ended:          stateName := 'Ended';
+    plvPlayer_Error:          stateName := 'Error';
+    else                      stateName := 'Unknown';
+  end;
+
+  var
+  info : string;
+  sar_num, sar_den : LongWord;
+begin
+  info := 'Aspect ratio = ' + PasLibVlcPlayer1.GetVideoAspectRatio();
+  if (PasLibVlcPlayer1.GetVideoSampleAspectRatio(sar_num, sar_den)) then
+  begin
+    info := info + ', SampleAspectRatio = ' + IntToStr(sar_num) + ':' + IntToStr(sar_den);
+  end;
+  MessageDlg(
+    info,
+    mtInformation, [mbOK], 0);
+end;
+
+main libvlc debug: configured with /builds/videolan/vlc/extras/package/win32/../../../configure  '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-avcodec' '--enable-merge-ffmpeg' '--enable-dca' '--enable-mpc' '--enable-libass' '--enable-schroedinger' '--enable-realrtsp' '--enable-live555' '--enable-shout' '--enable-goom' '--enable-sse' '--enable-mmx' '--enable-libcddb' '--enable-zvbi' '--disable-telx' '--enable-nls' '--host=i686-w64-mingw32' '--with-contrib=../contrib/i686-w64-mingw32' '--with-breakpad=https://win.crashes.videolan.org' '--enable-qt' '--enable-skins2' '--enable-dvdread' '--enable-caca' 'host_alias=i686-w64-mingw32' 'CFLAGS= -D_WIN32_WINNT=0x0502 -DWINVER=0x502 -D__MSVCRT_VERSION__=0x700 ' 'CXXFLAGS= -D_WIN32_WINNT=0x0502 -DWINVER=0x502 -D__MSVCRT_VERSION__=0x700 ' 'PKG_CONFIG=pkg-config' 'PKG_CONFIG_LIBDIR=/usr/i686-w64-mingw32/lib/pkgconfig:/usr/lib/i686-w64-mingw32/pkgconfig'
+
+#endif
 }
 //---------------------------------------------------------------------------
 

+ 3 - 2
VmsCmraViewer/SRC/FrmCameraPlayerF.dfm

@@ -19,6 +19,8 @@ object FrmCameraPlayer: TFrmCameraPlayer
   OnClose = FormClose
   OnDestroy = FormDestroy
   OnShow = FormShow
+  ExplicitWidth = 320
+  ExplicitHeight = 240
   DesignSize = (
     380
     212)
@@ -254,6 +256,7 @@ object FrmCameraPlayer: TFrmCameraPlayer
       Height = 191
       Align = alClient
       OnDblClick = PasLibVlcPlayer1DblClick
+      SpuShow = False
       OsdShow = False
       SnapShotFmt = 'png'
       OnMediaPlayerMediaChanged = PasLibVlcPlayer1MediaPlayerMediaChanged
@@ -263,8 +266,6 @@ object FrmCameraPlayer: TFrmCameraPlayer
       OnMediaPlayerEncounteredError = PasLibVlcPlayer1MediaPlayerEncounteredError
       OnMediaPlayerPositionChanged = PasLibVlcPlayer1MediaPlayerPositionChanged
       MouseEventsHandler = mehComponent
-      ExplicitLeft = -1
-      ExplicitTop = 6
     end
   end
   object PnlName: TPanel

+ 2 - 1
VmsCmraViewer/VmsCmraViewer.cbproj

@@ -3,7 +3,7 @@
 			<ProjectGuid>{B9185791-665E-4D5B-8497-9990580D2679}</ProjectGuid>
 			<ProjectVersion>12.0</ProjectVersion>
 			<MainSource>VmsCmraViewer.cpp</MainSource>
-			<Config Condition="'$(Config)'==''">Debug</Config>
+			<Config Condition="'$(Config)'==''">Release</Config>
 		</PropertyGroup>
 		<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
 			<Base>true</Base>
@@ -19,6 +19,7 @@
 			<Base>true</Base>
 		</PropertyGroup>
 		<PropertyGroup Condition="'$(Base)'!=''">
+			<BCC_UserSuppliedOptions>-CX100</BCC_UserSuppliedOptions>
 			<BCC_wpch>false</BCC_wpch>
 			<BCC_waus>false</BCC_waus>
 			<_TCHARMapping>wchar_t</_TCHARMapping>

+ 23 - 0
VmsMsgPubrMngr/SRC/FrmVmsMsgPubrMngrF.cpp

@@ -538,6 +538,7 @@ void __fastcall TFrmVmsMsgPubrMngr::BtnSaveClick(TObject *Sender)
     }
     ITSDb_GetConnection()->CommitTrans();
 
+#if 0
     if (FCommCtrlTarget != NULL) {
         FOR_STL(TCommInfo*, pCommInfo, FCommCtrlTarget->FLists) {
             int sendResult = CComm_VmsNotiRegDsplMsg(pCommInfo->SRVR_IP, pCommInfo->CMNC_PORT);
@@ -546,6 +547,7 @@ void __fastcall TFrmVmsMsgPubrMngr::BtnSaveClick(TObject *Sender)
             Sleep(200);
         }
     }
+#endif
 
     Application->MessageBox(lblErr4->Caption.c_str(),//L"VMS 자동 스케줄 관리\r\nVMS 자동 스케줄 정보를 저장 하였습니다.",
                             FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
@@ -1222,3 +1224,24 @@ void __fastcall TFrmVmsMsgPubrMngr::BtnAllEditClick(TObject *Sender)
 }
 //---------------------------------------------------------------------------
 
+void __fastcall TFrmVmsMsgPubrMngr::BtnMsgDispClick(TObject *Sender)
+{
+    String sMsg = "VMS 메시지 표출\r\nVMS 메시지 표출 명령을 통신서버로 전송 하시겠습니까?";
+
+    if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return;
+
+    if (FCommCtrlTarget != NULL) {
+        FOR_STL(TCommInfo*, pCommInfo, FCommCtrlTarget->FLists) {
+            int sendResult = CComm_VmsNotiRegDsplMsg(pCommInfo->SRVR_IP, pCommInfo->CMNC_PORT);
+            if (VERR_NONE == sendResult) {
+            }
+            Sleep(200);
+        }
+    }
+    Application->MessageBox(L"VMS 메시지 표출\r\nVMS 메시지 표출 명령을 통신서버로 전송 하였습니다.",
+                            FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
+
+    BtnMsgDisp->Enabled = false;
+}
+//---------------------------------------------------------------------------
+

+ 89 - 23
VmsMsgPubrMngr/SRC/FrmVmsMsgPubrMngrF.dfm

@@ -3002,45 +3002,46 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
             Left = 3
             Top = 19
             Width = 1104
-            Height = 735
+            Height = 700
             Cursor = crHandPoint
             Align = alClient
             TabOrder = 0
             Properties.ActivePage = TsEdit
-            ClientRectBottom = 730
+            ExplicitHeight = 735
+            ClientRectBottom = 695
             ClientRectLeft = 2
             ClientRectRight = 1099
             ClientRectTop = 28
             object TsEdit: TcxTabSheet
               Caption = ' VMS '#54861#48372' '#47700#49884#51648'   '
               ImageIndex = 1
-              ExplicitLeft = 0
-              ExplicitTop = 0
-              ExplicitWidth = 0
-              ExplicitHeight = 0
+              ExplicitHeight = 702
               object PnlTraffic: TPanel
                 Left = 0
                 Top = 0
                 Width = 1097
-                Height = 702
+                Height = 667
                 Align = alClient
                 BevelOuter = bvNone
                 TabOrder = 0
+                ExplicitHeight = 702
                 object cxGroupBox5: TcxGroupBox
                   Left = 0
                   Top = 0
                   Align = alClient
                   Caption = #54861#48372' '#47700#49884#51648' '#44396#49457
                   TabOrder = 0
-                  Height = 334
+                  ExplicitHeight = 334
+                  Height = 299
                   Width = 513
                   object CxSche: TcxGrid
                     Left = 3
                     Top = 19
                     Width = 507
-                    Height = 271
+                    Height = 236
                     Align = alClient
                     TabOrder = 0
+                    ExplicitHeight = 271
                     object TvSche: TcxGridTableView
                       OnCellDblClick = TvScheCellDblClick
                       OnFocusedRecordChanged = TvScheFocusedRecordChanged
@@ -3397,13 +3398,14 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                   end
                   object Panel5: TPanel
                     Left = 3
-                    Top = 290
+                    Top = 255
                     Width = 507
                     Height = 34
                     Align = alBottom
                     BevelOuter = bvNone
                     ParentColor = True
                     TabOrder = 1
+                    ExplicitTop = 290
                     DesignSize = (
                       507
                       34)
@@ -3464,13 +3466,14 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                   Left = 513
                   Top = 0
                   Width = 95
-                  Height = 334
+                  Height = 299
                   Align = alRight
                   BevelOuter = bvNone
                   TabOrder = 1
+                  ExplicitHeight = 334
                   DesignSize = (
                     95
-                    334)
+                    299)
                   object BtnListAdd: TcxButton
                     Left = 9
                     Top = 103
@@ -3500,7 +3503,7 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                   object BtnSave: TcxButton
                     Tag = 5
                     Left = 8
-                    Top = 302
+                    Top = 267
                     Width = 80
                     Height = 26
                     Cursor = crHandPoint
@@ -3516,6 +3519,7 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                     Font.Style = [fsBold]
                     ParentFont = False
                     OnClick = BtnSaveClick
+                    ExplicitTop = 302
                   end
                   object BtnUp: TcxButton
                     Tag = 2
@@ -3550,15 +3554,17 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                   Align = alRight
                   Caption = 'VMS '#47700#49884#51648' '#47785#47197
                   TabOrder = 2
-                  Height = 334
+                  ExplicitHeight = 334
+                  Height = 299
                   Width = 489
                   object CxForm: TcxGrid
                     Left = 3
                     Top = 19
                     Width = 483
-                    Height = 271
+                    Height = 236
                     Align = alClient
                     TabOrder = 0
+                    ExplicitHeight = 271
                     object TvForm: TcxGridTableView
                       OnFocusedRecordChanged = TvFormFocusedRecordChanged
                       DataController.Summary.DefaultGroupSummaryItems = <>
@@ -3673,13 +3679,14 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                   end
                   object Panel6: TPanel
                     Left = 3
-                    Top = 290
+                    Top = 255
                     Width = 483
                     Height = 34
                     Align = alBottom
                     BevelOuter = bvNone
                     ParentColor = True
                     TabOrder = 1
+                    ExplicitTop = 290
                     DesignSize = (
                       483
                       34)
@@ -3734,7 +3741,7 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                 end
                 object GrpPreview: TcxGroupBox
                   Left = 0
-                  Top = 334
+                  Top = 299
                   Align = alBottom
                   Caption = #9654' '#47700#49884#51648' '#54268' '#48120#47532#48372#44592
                   Style.BorderColor = clCaptionText
@@ -3742,6 +3749,7 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                   Style.TextColor = clWindowText
                   Style.TextStyle = [fsBold]
                   TabOrder = 3
+                  ExplicitTop = 334
                   Height = 368
                   Width = 1097
                   object ScrollBox2: TScrollBox
@@ -3786,13 +3794,10 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
             object TsPreview: TcxTabSheet
               Caption = ' '#48120#47532#48372#44592' '
               ImageIndex = 1
-              ExplicitLeft = 0
-              ExplicitTop = 0
-              ExplicitWidth = 0
-              ExplicitHeight = 0
+              ExplicitHeight = 702
               object Panel2: TPanel
                 Left = 0
-                Top = 666
+                Top = 631
                 Width = 1097
                 Height = 36
                 Align = alBottom
@@ -3807,6 +3812,7 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                 ParentColor = True
                 ParentFont = False
                 TabOrder = 0
+                ExplicitTop = 666
                 DesignSize = (
                   1097
                   36)
@@ -3901,9 +3907,10 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
                 Left = 0
                 Top = 0
                 Width = 1097
-                Height = 666
+                Height = 631
                 Align = alClient
                 TabOrder = 1
+                ExplicitHeight = 666
                 object TvView: TcxGridTableView
                   DataController.Summary.DefaultGroupSummaryItems = <>
                   DataController.Summary.FooterSummaryItems = <>
@@ -4002,6 +4009,65 @@ object FrmVmsMsgPubrMngr: TFrmVmsMsgPubrMngr
             Caption = '* '#49884#51089'/'#51333#47308#49884#44033' '#49472#51012' '#45908#48660#53364#47533#54616#47732' '#44592#44036#51012' '#49444#51221#54624' '#49688' '#51080#49845#45768#45796'.'
             Transparent = True
           end
+          object PnlMenu: TPanel
+            Left = 3
+            Top = 719
+            Width = 1104
+            Height = 35
+            Align = alBottom
+            BevelOuter = bvNone
+            TabOrder = 2
+            ExplicitWidth = 1101
+            DesignSize = (
+              1104
+              35)
+            object BtnMsgDisp: TcxButton
+              Tag = 5
+              Left = 944
+              Top = 6
+              Width = 153
+              Height = 25
+              Cursor = crHandPoint
+              Hint = 'VMS '#47700#49884#51648' '#54364#52636' '#47749#47161#51012' '#53685#49888#49436#48260#47196' '#51204#49569#54633#45768#45796'.'
+              Anchors = [akRight, akBottom]
+              Caption = ' VMS '#47700#49884#51648' '#54364#52636
+              Colors.Default = 10737865
+              Glyph.Data = {
+                06030000424D06030000000000003600000028000000100000000F0000000100
+                180000000000D0020000120B0000120B00000000000000000000C0C0C0C0C0C0
+                C0C0C0C0C0C0BFBFBFC4C4C4C0C0C0C0C0C0C0C0C0C0C0C00000000000000000
+                00000000000000B9B8BBC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000
+                000000000000000040611388BD3594D13594CF3A334005000000C0C0C0C1C1C1
+                C0C0C0C0C0C000000000000000000057830F6C992096C5388FB7308599486F7A
+                5C8DB83D38460A000000C0C0C0C6C5C600000000000071A1277EAE25A4D34096
+                AB488EA841868F65868683AFAFAE908F9685AF363B4D0C000000C0C0C0C3C2C6
+                0000007DAF279DBF4781924A808E546423736A467DDBE2E1FFFFFFFFFFFF9698
+                9983AF353C4F0E000000C0C0C0C3C2C7000000708D3479796DC3C1CED2D2DA84
+                439D9C1FC6C2A8CBFFFFFDFFFFFF95979784B137405312000000C0C0C0C4C2C7
+                000000648031ADA9B2FFFFFFFFFFFF945AA8C32AF8A124C9BD9EC7FFFFFF9899
+                9985B339435819000000C0C0C0C3C2C700000064802EB5B2B1FFFFFFFFFFFC90
+                56A4C832FBAF20DCA777B7FFFFFF9A9A9B86B43A455C1D000000C0C0C0C4C2C7
+                00000063802DB4B1B0FFFFFFFFFFFE9354A8A518D4B183C2FFFFFFF6F3FF918F
+                9887B63C476021000000C0C0C0C4C2C700000062802EB7B4B4FFFFFFFFFFFF89
+                469F71368BD1D2DAC1C1C579825F6D795190C3424B632A000000C0C0C0C4C2C7
+                0000005E7D2FBCB7C2BCBABFABA9B1765A8075864672883E738E419AC74BA8D3
+                67B2E77E000000000000C0C0C0C4C2C7000000698D37787875809C437E9D387F
+                AC459DD058ABE172B8E58EAECF9400000000000012180CC0C0C0C0C0C0C3C2C7
+                00000079B4337DB54284C44B92D263AADD7A95B874000000000000000000C0C0
+                C0C0C0C0C0C0C0C0C0C0C0C0C0C4C2C50000007BC64F87CC5E99C6696A824100
+                0000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C0C0C0C6C5C6
+                C0C0C0000000000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+                C0C0C0C0C0C0C0C0C0C0}
+              TabOrder = 0
+              Font.Charset = DEFAULT_CHARSET
+              Font.Color = clBlack
+              Font.Height = -13
+              Font.Name = #47569#51008' '#44256#46357
+              Font.Style = [fsBold]
+              ParentFont = False
+              OnClick = BtnMsgDispClick
+            end
+          end
         end
       end
     end

+ 3 - 0
VmsMsgPubrMngr/SRC/FrmVmsMsgPubrMngrF.h

@@ -216,6 +216,8 @@ __published:	// IDE-managed Components
     TPanel *Panel6;
     TcxButton *BtnAllEdit;
     TcxButton *BtnAllAdd;
+    TPanel *PnlMenu;
+    TcxButton *BtnMsgDisp;
     void __fastcall FormShow(TObject *Sender);
     void __fastcall TmrShowTimer(TObject *Sender);
     void __fastcall BtnCloseClick(TObject *Sender);
@@ -248,6 +250,7 @@ __published:	// IDE-managed Components
           TShiftState AShift, bool &AHandled);
     void __fastcall BtnAllEditClick(TObject *Sender);
     void __fastcall ChkAutoWidthPropertiesChange(TObject *Sender);
+    void __fastcall BtnMsgDispClick(TObject *Sender);
 
 private:	// User declarations
     void __fastcall CommClose();

+ 23 - 0
VmsMsgScheMngr/SRC/FrmVmsMsgScheMngrF.cpp

@@ -744,6 +744,7 @@ void __fastcall TFrmVmsMsgScheMngr::BtnSaveClick(TObject *Sender)
     if (bResult) {
         ITSDb_GetConnection()->CommitTrans();
 
+#if 0
         if (FCommCtrlTarget != NULL) {
             FOR_STL(TCommInfo*, pCommInfo, FCommCtrlTarget->FLists) {
                 int sendResult = CComm_VmsNotiRegDsplMsg(pCommInfo->SRVR_IP, pCommInfo->CMNC_PORT);
@@ -752,6 +753,7 @@ void __fastcall TFrmVmsMsgScheMngr::BtnSaveClick(TObject *Sender)
                 Sleep(200);
             }
         }
+#endif
 
         Application->MessageBox(L"VMS 스케줄 저장\r\nVMS 시나리오 정보를 저장 하였습니다.",
                                 FTitle.c_str(),
@@ -1790,3 +1792,24 @@ void __fastcall TFrmVmsMsgScheMngr::BtnSaveScnrClick(TObject *Sender)
 }
 //---------------------------------------------------------------------------
 
+void __fastcall TFrmVmsMsgScheMngr::BtnMsgDispClick(TObject *Sender)
+{
+    String sMsg = "VMS 메시지 표출\r\nVMS 메시지 표출 명령을 통신서버로 전송 하시겠습니까?";
+
+    if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return;
+
+    if (FCommCtrlTarget != NULL) {
+        FOR_STL(TCommInfo*, pCommInfo, FCommCtrlTarget->FLists) {
+            int sendResult = CComm_VmsNotiRegDsplMsg(pCommInfo->SRVR_IP, pCommInfo->CMNC_PORT);
+            if (VERR_NONE == sendResult) {
+            }
+            Sleep(200);
+        }
+    }
+    Application->MessageBox(L"VMS 메시지 표출\r\nVMS 메시지 표출 명령을 통신서버로 전송 하였습니다.",
+                            FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
+
+    BtnMsgDisp->Enabled = false;
+}
+//---------------------------------------------------------------------------
+

+ 46 - 9
VmsMsgScheMngr/SRC/FrmVmsMsgScheMngrF.dfm

@@ -3246,6 +3246,52 @@ object FrmVmsMsgScheMngr: TFrmVmsMsgScheMngr
               ParentFont = False
               OnClick = BtnSaveScnrClick
             end
+            object BtnMsgDisp: TcxButton
+              Tag = 5
+              Left = 944
+              Top = 7
+              Width = 153
+              Height = 25
+              Cursor = crHandPoint
+              Hint = 'VMS '#47700#49884#51648' '#54364#52636' '#47749#47161#51012' '#53685#49888#49436#48260#47196' '#51204#49569#54633#45768#45796'.'
+              Anchors = [akRight, akBottom]
+              Caption = ' VMS '#47700#49884#51648' '#54364#52636
+              Colors.Default = 10737865
+              Glyph.Data = {
+                06030000424D06030000000000003600000028000000100000000F0000000100
+                180000000000D0020000120B0000120B00000000000000000000C0C0C0C0C0C0
+                C0C0C0C0C0C0BFBFBFC4C4C4C0C0C0C0C0C0C0C0C0C0C0C00000000000000000
+                00000000000000B9B8BBC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000
+                000000000000000040611388BD3594D13594CF3A334005000000C0C0C0C1C1C1
+                C0C0C0C0C0C000000000000000000057830F6C992096C5388FB7308599486F7A
+                5C8DB83D38460A000000C0C0C0C6C5C600000000000071A1277EAE25A4D34096
+                AB488EA841868F65868683AFAFAE908F9685AF363B4D0C000000C0C0C0C3C2C6
+                0000007DAF279DBF4781924A808E546423736A467DDBE2E1FFFFFFFFFFFF9698
+                9983AF353C4F0E000000C0C0C0C3C2C7000000708D3479796DC3C1CED2D2DA84
+                439D9C1FC6C2A8CBFFFFFDFFFFFF95979784B137405312000000C0C0C0C4C2C7
+                000000648031ADA9B2FFFFFFFFFFFF945AA8C32AF8A124C9BD9EC7FFFFFF9899
+                9985B339435819000000C0C0C0C3C2C700000064802EB5B2B1FFFFFFFFFFFC90
+                56A4C832FBAF20DCA777B7FFFFFF9A9A9B86B43A455C1D000000C0C0C0C4C2C7
+                00000063802DB4B1B0FFFFFFFFFFFE9354A8A518D4B183C2FFFFFFF6F3FF918F
+                9887B63C476021000000C0C0C0C4C2C700000062802EB7B4B4FFFFFFFFFFFF89
+                469F71368BD1D2DAC1C1C579825F6D795190C3424B632A000000C0C0C0C4C2C7
+                0000005E7D2FBCB7C2BCBABFABA9B1765A8075864672883E738E419AC74BA8D3
+                67B2E77E000000000000C0C0C0C4C2C7000000698D37787875809C437E9D387F
+                AC459DD058ABE172B8E58EAECF9400000000000012180CC0C0C0C0C0C0C3C2C7
+                00000079B4337DB54284C44B92D263AADD7A95B874000000000000000000C0C0
+                C0C0C0C0C0C0C0C0C0C0C0C0C0C4C2C50000007BC64F87CC5E99C6696A824100
+                0000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C0C0C0C6C5C6
+                C0C0C0000000000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+                C0C0C0C0C0C0C0C0C0C0}
+              TabOrder = 5
+              Font.Charset = DEFAULT_CHARSET
+              Font.Color = clBlack
+              Font.Height = -13
+              Font.Name = #47569#51008' '#44256#46357
+              Font.Style = [fsBold]
+              ParentFont = False
+              OnClick = BtnMsgDispClick
+            end
           end
           object Panel20: TPanel
             Left = 3
@@ -3359,10 +3405,6 @@ object FrmVmsMsgScheMngr: TFrmVmsMsgScheMngr
             object TsEdit: TcxTabSheet
               Caption = ' '#49828#52992#51460' '#44396#49457' '#54200#51665'   '
               ImageIndex = 1
-              ExplicitLeft = 0
-              ExplicitTop = 0
-              ExplicitWidth = 0
-              ExplicitHeight = 0
               object Panel2: TPanel
                 Left = 0
                 Top = 0
@@ -4068,16 +4110,11 @@ object FrmVmsMsgScheMngr: TFrmVmsMsgScheMngr
                 AutoSnap = True
                 MinSize = 100
                 Control = GrpPreview
-                ExplicitWidth = 6
               end
             end
             object TsPreview: TcxTabSheet
               Caption = ' '#48120#47532#48372#44592' '
               ImageIndex = 1
-              ExplicitLeft = 0
-              ExplicitTop = 0
-              ExplicitWidth = 0
-              ExplicitHeight = 0
               object Panel21: TPanel
                 Left = 0
                 Top = 592

+ 2 - 0
VmsMsgScheMngr/SRC/FrmVmsMsgScheMngrF.h

@@ -250,6 +250,7 @@ __published:	// IDE-managed Components
     TcxGridColumn *ColFormSn;
     TLabel *LblTemp;
     TcxButton *BtnSaveScnr;
+    TcxButton *BtnMsgDisp;
     void __fastcall FormShow(TObject *Sender);
     void __fastcall TmrShowTimer(TObject *Sender);
     void __fastcall BtnCloseClick(TObject *Sender);
@@ -291,6 +292,7 @@ __published:	// IDE-managed Components
     void __fastcall TvFormCellClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
           TShiftState AShift, bool &AHandled);
     void __fastcall BtnSaveScnrClick(TObject *Sender);
+    void __fastcall BtnMsgDispClick(TObject *Sender);
 
 private:	// User declarations
     void __fastcall CommClose();