|
@@ -47,8 +47,9 @@ namespace MOKA_Factory_Tools
|
|
|
Thread SNTextFocus;
|
|
|
bool FocusMark = false;
|
|
|
Thread WritekeyThread;
|
|
|
- // 线程锁:当前窗口抄写线程只能开一个;
|
|
|
- private readonly object WriteKeyThreadLock;
|
|
|
+ // 当前窗口抄写线程只能开一个;
|
|
|
+ private readonly object MyLock;
|
|
|
+ private bool IsThreadRunning { get; set; } = false;
|
|
|
string availableCount = "unknow";
|
|
|
// 只有NTF才用该变量, 0试产, 1=量产;
|
|
|
int nOrderType = -1;
|
|
@@ -106,7 +107,7 @@ namespace MOKA_Factory_Tools
|
|
|
ProductMsg_Text.Text = "Roku:";
|
|
|
if (functionSetting.NTF)
|
|
|
ntfBLL = new NTFBLL(functionSetting.Mexican_NTF);
|
|
|
- WriteKeyThreadLock = new object();
|
|
|
+ MyLock = new object();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -771,13 +772,16 @@ namespace MOKA_Factory_Tools
|
|
|
|
|
|
private void StartWriteKeyThread()
|
|
|
{
|
|
|
- if ( !Monitor.IsEntered(WriteKeyThreadLock) )
|
|
|
+ Monitor.Enter(MyLock);
|
|
|
+ if (!IsThreadRunning)
|
|
|
{
|
|
|
- Monitor.Enter(WriteKeyThreadLock);
|
|
|
timer1.Start();
|
|
|
+ IsThreadRunning = true;
|
|
|
WritekeyThread = new Thread(Writekey);
|
|
|
WritekeyThread.Start();
|
|
|
}
|
|
|
+ Monitor.Exit(MyLock);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -5195,7 +5199,7 @@ namespace MOKA_Factory_Tools
|
|
|
EnableText(SNText);
|
|
|
#endif
|
|
|
EnableButton(BtnClickstart);
|
|
|
- Monitor.Exit(WriteKeyThreadLock);
|
|
|
+ IsThreadRunning = false;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -5625,9 +5629,6 @@ namespace MOKA_Factory_Tools
|
|
|
{
|
|
|
Thread.Sleep(100);
|
|
|
}
|
|
|
-
|
|
|
- if (Monitor.IsEntered(WriteKeyThreadLock))
|
|
|
- Monitor.Exit(WriteKeyThreadLock);
|
|
|
}
|
|
|
}
|
|
|
UsingTime_Text.Text = "0";
|