public void StartRegistration() { m_LPREngine = (LPREngine)m_AppData.LPREngine; for (int c = 0; c < m_NumberChannels; c++) { try { m_CurrentImageQ[c] = new ThreadSafeQueue <FRAME>(3); m_FrameGenerator.RegisterToConsumeChannel(m_ConsumerID, c, (FrameGenerator.NotificationOfNewFrameReady)NewImageCallBack); m_CurrentPlateNumberQ[c] = new ThreadSafeQueue <FRAME>(3); m_LPREngine.OnNewUnfilteredPlateEvent += new LPREngine.NewPlateEvent(m_LPREngine_OnNewPlateEvent); // get unfiltered plate readings for user display } catch (Exception ex) { m_Log.Trace(ex, ErrorLog.LOG_TYPE.FATAL); } } }