void ILogHnd.OnLog(string userId, ILogInfo info) { try { // Threadsicherer Aufruf der Listbox Add Methode if (_lbx.InvokeRequired) { ILogHnd logHnd = this; DGHnd dg = new DGHnd(logHnd.OnLog); _lbx.BeginInvoke(dg, new object[] { userId, info }); } else { switch (info.LogType) { case EnumLogType.Error: { string descr = string.Format("Err: user= {0:s}: {1} / {2}", info.LogDate, userId, info.Message); Debug.Fail("WinFormListBoxLogHnd: " + descr); _lbx.Items.Add(_counter.ToString() + '\t' + descr); _counter++; } break; case EnumLogType.Message: if (ShowMessage) { string descr = string.Format("Msg: user= {0:s}: {1} / {2}", info.LogDate, userId, info.Message); Debug.WriteLine("WinFormListBoxLogHnd: " + descr); _lbx.Items.Add(_counter.ToString() + '\t' + descr); _counter++; } break; case EnumLogType.Status: if (ShowStatus) { string descr = string.Format("Sta: user= {0}: {1} / {2}", info.LogDate, userId, info.Message); Debug.WriteLine("WinFormListBoxLogHnd: " + descr); _lbx.Items.Add(_counter.ToString() + '\t' + descr); _counter++; } break; default: { string descr = string.Format("Unbekannter Logtyp: user= {0:s}: {1} / {2}", info.LogDate, userId, info.Message); _lbx.Items.Add(_counter.ToString() + '\t' + descr); Debug.Fail("WinFormListBoxLogHnd: " + descr); } break; } } } catch (Exception ex) { SelfDeregisterILogHnd(); } }
// Deregistrieren eines Objektes mit Routinen zur Behandlung von Ereignissen // (Eventhandler) public void deregisterLogHnd(ILogHnd iLogHnd) { EventError -= new CLog.DGLog(iLogHnd.OnError); EventErrorILogInfo -= new CLog.DGLogILogInfo(iLogHnd.OnError); EventMsg -= new CLog.DGLog(iLogHnd.OnMsg); EventMsgILogInfo -= new CLog.DGLogILogInfo(iLogHnd.OnMsg); EventStatus -= new CLog.DGLog(iLogHnd.OnStatus); EventStatusILogInfo -= new CLog.DGLogILogInfo(iLogHnd.OnStatus); }
// Registrieren eines Objektes mit Routinen zur Behandlung von Ereignissen // (Eventhandler) public void registerLogHnd(ILogHnd iLogHnd) { EventError += new CLog.DGLog(iLogHnd.OnError); EventErrorILogInfo += new CLog.DGLogILogInfo(iLogHnd.OnError); EventMsg += new CLog.DGLog(iLogHnd.OnMsg); EventMsgILogInfo += new CLog.DGLogILogInfo(iLogHnd.OnMsg); EventStatus += new CLog.DGLog(iLogHnd.OnStatus); EventStatusILogInfo += new CLog.DGLogILogInfo(iLogHnd.OnStatus); iLogHnd.SetSelfDeregisterDelegate(new DgDeregisterILogHnd(deregisterLogHnd)); }
// Deregistrieren eines Objektes mit Routinen zur Behandlung von Ereignissen // (Eventhandler) public void deregisterLogHnd(ILogHnd iLogHnd) { EventLog -= new LogServer.DGLogILogInfo(iLogHnd.OnLog); }
// Registrieren eines Objektes mit Routinen zur Behandlung von Ereignissen // (Eventhandler) public void registerLogHnd(ILogHnd iLogHnd) { EventLog += new LogServer.DGLogILogInfo(iLogHnd.OnLog); iLogHnd.SetSelfDeregisterDelegate(new DgDeregisterILogHnd(deregisterLogHnd)); }