From 3ce48f6dbeb537e252edb0d62c88a28796e36674 Mon Sep 17 00:00:00 2001 From: SWK <sungwk82@diteam.co.kr> Date: 월, 26 12월 2022 15:04:42 +0900 Subject: [PATCH] ongoing60 #4403 CF AOI Review TACT 지연 개선 1. 신호 출력 방식 재개선 - 유지 시간이 없는 신호는 바로 출력 진행하도록 변경 2. 불필요 Delay 제거 및 시퀀스 변경 - 얼라인 측정 종료 처리 간 제어 신호 먼저 출력 후 카메라 Stop으로 변경 - 물류 정보 읽기 처리 후 1000ms Delay 삭제 - 얼라인 측정 시작(카메라 Live Start) 후 Delay 300ms -> 100ms(이미지 들어오는 시간 확보 필요) - ReadRawFile 처리 시작 전 500ms Delay 삭제 - Path Scheduling 완료 후 Review Ready 신호 출력 전 1000ms Delay 삭제 3. 버그 수정 - 이미지 저장 경로 생성 간 예외 처리 부분 버그 수정 4. 로그 시간 출력 불합리 개선 - 로그 시간이 파일 출력 시점으로 작성되어 로그 스래드 지연 시 시간이 맞지 않는 불합리 있음 - 로그 시간은 로그 발생 시점에 시간 저장, 해당 시간 이용하여 파일에 기록하도록 변경 --- ReviewSystem/ReviewSystem/DlgLog.cpp | 44 +++++++++++++++++++++++++++++--------------- 1 files changed, 29 insertions(+), 15 deletions(-) diff --git a/ReviewSystem/ReviewSystem/DlgLog.cpp b/ReviewSystem/ReviewSystem/DlgLog.cpp index f93a01a..53068df 100644 --- a/ReviewSystem/ReviewSystem/DlgLog.cpp +++ b/ReviewSystem/ReviewSystem/DlgLog.cpp @@ -23,7 +23,20 @@ void CDlgLog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); - DDX_Control(pDX, IDC_LIST_LOG, m_ctrlLogListBox); + DDX_Control(pDX, IDC_LIST_LOG, m_ctrlLogList); +} + +BOOL CDlgLog::OnInitDialog() +{ + CDialog::OnInitDialog(); + + // TODO: �뿬湲곗뿉 異붽� 珥덇린�솕 �옉�뾽�쓣 異붽��빀�땲�떎. + m_ctrlLogList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); + m_ctrlLogList.InsertColumn(0, _T("�떆媛�"), LVCFMT_CENTER, 150); + m_ctrlLogList.InsertColumn(1, _T("�궡�슜"), LVCFMT_LEFT, 690); + + return TRUE; // return TRUE unless you set the focus to a control + // �삁�쇅: OCX �냽�꽦 �럹�씠吏��뒗 FALSE瑜� 諛섑솚�빐�빞 �빀�땲�떎. } @@ -52,9 +65,9 @@ { CDialog::OnSize(nType, cx, cy); - if (m_ctrlLogListBox.GetSafeHwnd()) + if (m_ctrlLogList.GetSafeHwnd()) { - m_ctrlLogListBox.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOZORDER); + m_ctrlLogList.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOZORDER); } // TODO: �뿬湲곗뿉 硫붿떆吏� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎. @@ -62,22 +75,23 @@ void CDlgLog::DisplayMessage(const CString& strMessage) { - int nCount; CTime time; - CString strStamp, strLog; + CString strStamp; - nCount = m_ctrlLogListBox.GetCount(); + if (m_ctrlLogList.GetItemCount() > 100) + m_ctrlLogList.DeleteItem(0); - if (nCount % MAX_PRINT_COUNT == 0) - { - m_ctrlLogListBox.ResetContent(); - } + //if (nCount % MAX_PRINT_COUNT == 0) + //{ + // m_ctrlLogList.ResetContent(); + //} SYSTEMTIME currentTime; ::GetLocalTime(¤tTime); time = CTime::GetCurrentTime(); - strStamp.Format(_T("[%02d:%02d:%02d]"), time.GetHour(), time.GetMinute(), time.GetSecond()); - strLog.Format(_T("%s %s"), strStamp, strMessage); - m_ctrlLogListBox.AddString(strLog); - m_ctrlLogListBox.SetCurSel(m_ctrlLogListBox.GetCount()-1); -} \ No newline at end of file + strStamp.Format(_T("[%02d:%02d:%02d:%02d:%02d:%02d]"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond()); + + int nRow = m_ctrlLogList.InsertItem(m_ctrlLogList.GetItemCount(), strStamp); + m_ctrlLogList.SetItemText(nRow, 1, strMessage); + m_ctrlLogList.EnsureVisible(nRow, FALSE); +} -- Gitblit v1.9.3