From edc0ea8a649eb4a0000498dea951853f09cb11e3 Mon Sep 17 00:00:00 2001 From: "DESKTOP-999R8N3\\CJY" Date: Fri, 3 Mar 2023 18:22:52 +0900 Subject: [PATCH] =?UTF-8?q?=20-=20FormMainDisplay=20=20=20=201.=20Ethernet?= =?UTF-8?q?=20=ED=86=B5=EC=8B=A0=20=EC=95=84=EC=9D=B4=EC=BD=98(Connect/Dis?= =?UTF-8?q?connect)=20=ED=91=9C=EC=8B=9C=EB=A5=BC=20=EC=9C=84=ED=95=98?= =?UTF-8?q?=EC=97=AC=20=EC=82=AC=EC=9A=A9=ED=95=98=EB=8A=94=20=EC=93=B0?= =?UTF-8?q?=EB=A0=88=EB=93=9C=20=EC=82=AD=EC=A0=9C=20=20=20=20=20=20=20->?= =?UTF-8?q?=20timer=EB=A1=9C=20=EC=A0=9C=EC=96=B4=20=20-=20=EA=B0=80?= =?UTF-8?q?=EB=B9=84=EC=A7=80=20=EC=BB=AC=EB=A0=89=EC=85=98=20=EB=AF=B8?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ControlCenterInforSystem.cs | 2 +- ITC81DB_0H/Forms/FormMainDisplay.cs | 44 ++++++++++++++++-- ITC81DB_0H/Version.txt | 13 ++++++ ITC81DB_0H/bin/Release/ITC81DB_2H.exe | Bin 4901888 -> 4901888 bytes ITC81DB_0H/obj/Release/ITC81DB_2H.exe | Bin 4901888 -> 4901888 bytes 5 files changed, 55 insertions(+), 4 deletions(-) diff --git a/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.cs b/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.cs index 1b31c83..86c98e7 100644 --- a/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.cs +++ b/ITC81DB_0H/Controls/CenterInformation/ControlCenterInforSystem.cs @@ -66,7 +66,7 @@ namespace ITC81DB_0H.Controls private void DefaultSetting() { this.labelSerialNo.Text = this.ParentForm.ParentForm.SystemConfig1.SerialNumber; - this.labelDisplayVer.Text = "2.1.0"; + this.labelDisplayVer.Text = "2.1.2"; } public void UpdateMainBoardVersionDisplay(string version) diff --git a/ITC81DB_0H/Forms/FormMainDisplay.cs b/ITC81DB_0H/Forms/FormMainDisplay.cs index b9eda8d..32015b1 100644 --- a/ITC81DB_0H/Forms/FormMainDisplay.cs +++ b/ITC81DB_0H/Forms/FormMainDisplay.cs @@ -1059,9 +1059,47 @@ namespace ITC81DB_0H.Forms } private void timerClientConnectCheck_Tick(object sender, EventArgs e) { - this.ThreadClientConnected = new Thread(this.ThreadDelegate); - this.ThreadClientConnected.Priority = ThreadPriority.Highest; - this.ThreadClientConnected.Start(); + //this.ThreadClientConnected = new Thread(this.ThreadDelegate); + //this.ThreadClientConnected.Priority = ThreadPriority.Highest; + //this.ThreadClientConnected.Start(); + + try + { + if (this.ParentForm.smartTCPMultiServer.IsStart == true) + { + if (this.ParentForm.smartTCPMultiServer.ClientInfoList == null) + { + this.ParentForm.DelegateUISeverStatus(false); + + // 로그 + if (this.ParentForm.IsCommunicationLogOpen == true) + this.ParentForm.smartFileCommunicationLog.WriteString(string.Format("ClientConnectCheck ({0:yyyy-MM-dd HH:mm:ss}): false", DateTime.Now)); + } + else + { + this.ParentForm.DelegateUISeverStatus(true); + + // 로그 + if (this.ParentForm.IsCommunicationLogOpen == true) + this.ParentForm.smartFileCommunicationLog.WriteString(string.Format("ClientConnectCheck ({0:yyyy-MM-dd HH:mm:ss}): true", DateTime.Now)); + } + + //this.ThreadClientConnected.Join(); + + //if (this.GCCount > 1800) + //{ + // System.GC.Collect(); + // System.GC.WaitForPendingFinalizers(); + // this.GCCount = 0; + //} + //else + // this.GCCount++; + } + } + catch (Exception ex) + { + FormMain.Exception(ex); + } } private void pictureBoxIconAlarm_Click(object sender, EventArgs e) diff --git a/ITC81DB_0H/Version.txt b/ITC81DB_0H/Version.txt index c5399c1..8b98488 100644 --- a/ITC81DB_0H/Version.txt +++ b/ITC81DB_0H/Version.txt @@ -12,6 +12,19 @@ ±âº»Çü ÄÁº£¾î °íÁ¤¹Ð¼¾¼­ °è·®±â */ +@ Ver 2.1.2 by CJY + - 2023.03.03 + - Ver 2.1.1 Modify + - FormMainDisplay + 1. Ethernet Åë½Å ¾ÆÀÌÄÜ(Connect/Disconnect) Ç¥½Ã¸¦ À§ÇÏ¿© »ç¿ëÇÏ´Â ¾²·¹µå »èÁ¦ + -> timer·Î Á¦¾î + +@ Ver 2.1.1 by CJY + - 2023.03.03 + - Ver 2.1.0 Modify + - °¡ºñÁö Ä÷º¼Ç »ç¿ë + ¾²·¹µå »ç¿ë 30ºÐ¸¶´Ù °¡ºñÁö Ä÷º¼ÇÀ» »ç¿ëÇÏ¿© °´Ã¼ ÇØÁ¦½ÃÅ´ + @ Ver 2.1.0 by CJY - 2023.02.21 - Ver 2.0.0 Modify diff --git a/ITC81DB_0H/bin/Release/ITC81DB_2H.exe b/ITC81DB_0H/bin/Release/ITC81DB_2H.exe index 9ced10fa3d0f600666e25486db1f0e8fb755f2e1..d9e204ea99eb2c79f1c6247b7538f2e4c5fa05d4 100644 GIT binary patch delta 7465 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 delta 7447 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 diff --git a/ITC81DB_0H/obj/Release/ITC81DB_2H.exe b/ITC81DB_0H/obj/Release/ITC81DB_2H.exe index 9ced10fa3d0f600666e25486db1f0e8fb755f2e1..d9e204ea99eb2c79f1c6247b7538f2e4c5fa05d4 100644 GIT binary patch delta 7465 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 delta 7447 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