From a85f4cc17f8775845a2d9dbc359826663ede2fe0 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 금, 04 6월 2021 17:52:11 +0900 Subject: [PATCH] Ongoing80 #3417 CF AOI Review 전설비 Log Process개선 - LOG 뷰어 리스트 박스로 변경 - 시퀀스 쓰레드에서 로그 발생기 로그 쓰레드로 메시지로 전송 후 바로 다음 업무 처리 --- ReviewSystem/ReviewSystem/DisplayMessage.cpp | 70 +++++++++++++++++++++++++++++------ 1 files changed, 58 insertions(+), 12 deletions(-) diff --git a/ReviewSystem/ReviewSystem/DisplayMessage.cpp b/ReviewSystem/ReviewSystem/DisplayMessage.cpp index 8d7f0e2..1555229 100644 --- a/ReviewSystem/ReviewSystem/DisplayMessage.cpp +++ b/ReviewSystem/ReviewSystem/DisplayMessage.cpp @@ -8,6 +8,12 @@ SetPath(strPath); + // #3417 LYWCF AOI Review �쟾�꽕鍮� Log Process媛쒖꽑 ADD START + DWORD dwThreadId = 0; + HANDLE hThread = CreateThread(NULL, 0, RunThreadDisplayLog, NULL, 0, &dwThreadId); + m_ThreadId = dwThreadId; + // #3417 LYWCF AOI Review �쟾�꽕鍮� Log Process媛쒖꽑 ADD END + InitializeCriticalSection(&m_csLog); } @@ -18,6 +24,8 @@ delete m_pFileLog; m_pFileLog = NULL; } + + PostThreadMessage(m_ThreadId, WM_QUIT, 0, 0); DeleteCriticalSection(&m_csLog); } @@ -50,17 +58,22 @@ return TRUE; } - +// #3417 LYWCF AOI Review �쟾�꽕鍮� Log Process媛쒖꽑 ADD START void CDisplayMessage::DisplayMessage(const CString& strMessage) { - WriteToFile(strMessage); +// WriteToFile(strMessage); +// +// if(m_pDM2P) +// { +// m_pDM2P->DM2P_DisplayMessage(strMessage); +// } + CString* pstrLog = new CString(strMessage); + PostThreadMessage(m_ThreadId, WM_DIPLAY_LOG, reinterpret_cast<WPARAM>(pstrLog), 0); - if(m_pDM2P) - { - m_pDM2P->DM2P_DisplayMessage(strMessage); - } } +// #3417 LYWCF AOI Review �쟾�꽕鍮� Log Process媛쒖꽑 ADD END +// #3417 LYWCF AOI Review �쟾�꽕鍮� Log Process媛쒖꽑 ADD START void CDisplayMessage::DisplayMessage(const TCHAR* lpstrFormat, ...) { va_list list; @@ -70,11 +83,26 @@ _vstprintf_s(strText, lpstrFormat, list); va_end(list); - WriteToFile(strText); + CString* pstrLog = new CString(strText); + PostThreadMessage(m_ThreadId, WM_DIPLAY_LOG, reinterpret_cast<WPARAM>(pstrLog), 0); - if(m_pDM2P) +// WriteToFile(strText); +// +// if(m_pDM2P) +// { +// m_pDM2P->DM2P_DisplayMessage(strText); +// } +} +// #3417 LYWCF AOI Review �쟾�꽕鍮� Log Process媛쒖꽑 ADD END + +// #3417 LYWCF AOI Review �쟾�꽕鍮� Log Process媛쒖꽑 ADD START +void CDisplayMessage::ThreadDisplayMessage(const CString& strMessage) +{ + WriteToFile(strMessage); + + if (m_pDM2P) { - m_pDM2P->DM2P_DisplayMessage(strText); + m_pDM2P->DM2P_DisplayMessage(strMessage); } } @@ -82,7 +110,7 @@ { if(m_pFileLog == NULL) return FALSE; - EnterCriticalSection(&m_csLog); + //EnterCriticalSection(&m_csLog); CTime time = CTime::GetCurrentTime(); CString strTimeStamp = _T(""); @@ -107,10 +135,28 @@ m_pFileLog->Close(); } - LeaveCriticalSection(&m_csLog); + //LeaveCriticalSection(&m_csLog); return TRUE; } +DWORD RunThreadDisplayLog(LPVOID param) +{ + MSG msg; + while (GetMessage(&msg, NULL, 0, 0)) + { + CString* pstrLog = reinterpret_cast<CString*>(msg.wParam); + switch (msg.message) + { + case WM_DIPLAY_LOG: + + g_pLog->ThreadDisplayMessage(*pstrLog); + break; - + default: + break; + } + } + return 0; +} +// #3417 LYWCF AOI Review �쟾�꽕鍮� Log Process媛쒖꽑 ADD END -- Gitblit v1.9.3