public static void RunMessenger() { try { new ProtocolVN.Plugin.Chat.Form1().Show(FrameworkParams.MainForm); } catch (Exception ex) { PLException pl = new PLException(ex, "Chat", "RunMessenger", "", "Lỗi mở ứng dụng Chat"); PLException.AddException(pl); } }
private void showForm(string Id) { try { bool isWaitForm = getWaiting(Id); string formName = getForm(Id); string param = this.getParam(formName); formName = this.getFormClassName(formName); #region Mục chọn cho phép gọi một phương thức trong lớp if (!formName.Contains("MethodExec") && !formName.Contains("PLDanhMuc")) { XtraForm myForm = (XtraForm)GenerateClass.initObject(formName); //Đặt một số tham số cho form object obj = myForm.Tag; TagPropertyMan.InsertOrUpdate(ref obj, "FORM_PARAM", param); TagPropertyMan.InsertOrUpdate(ref obj, "MENU_ID", Id); TagPropertyMan.InsertOrUpdate(ref obj, "FORM_NAME", formName); myForm.Tag = obj; //Xử lý hiển thị file giúp đở if (!getHelpPage(Id).Equals("")) { PLHelp.help(myForm, getHelpPage(Id)); myForm.HelpButton = true; } if (IsStandalone(Id)) { myForm.Show(); } else { //Hiển thị dialog hay window if (getMDI(Id)) ProtocolForm.ShowWindow(mainForm, myForm, isWaitForm); else { if (getModal(Id)) ProtocolForm.ShowModalDialog(mainForm, myForm, isWaitForm); else ProtocolForm.ShowDialog(mainForm, myForm, isWaitForm); } } } #endregion //Xử lý danh mục popup else if (formName.Contains("PLDanhMuc")) { XtraUserControl control = null; control = (XtraUserControl)GenerateClass.initMethod(formName, param, false); string Title = null; try { Title = TagPropertyMan.Get(control.Tag, "Title").ToString(); } catch { } Size? size = null; try { size = ((Size?)TagPropertyMan.Get(control.Tag, "Size")); } catch { } frmCategory.ShowCategory(control, Title, size); } else { GenerateClass.initMethod(formName, param, isWaitForm); } } catch(Exception ex) { PLException e = new PLException(ex); e.className = getForm(Id); PLException.AddException(e); //PLException.AddException(ex); //PLException.AddException(new Exception("+ Khởi tạo form " + getForm(Id) + " không thành công.+")); HelpMsgBox.ShowSystemErrorMessage("Chức năng này chưa hỗ trợ. Xin vui lòng liên lạc với PROTOCOLVN."); } finally { if (FrameworkParams.wait != null) FrameworkParams.wait.Finish(); } }
//Hàm để thoát khởi ứng dụng public static void ExitApplication() { if (FrameworkParams.MainForm != null && FrameworkParams.MainForm.IsDisposed == false) { FrameworkParams.MainForm.Hide(); FrameworkParams.MainForm.Dispose(); } try { lock (ExitFlag) { if (ExitFlag.Value == false) { //Close all Output SystemTrayOut.Dispose(); RibbonStatusOut.Dispose(); //Stop Stickies ProtocolVN.Plugin.NoteBook.StickiesMethodExec.StopStickies(); //Class Microsoft Word try { if (PLMicrosoftWord.wd != null) { object dummy = null; object dummy2 = (object)false; PLMicrosoftWord.wd.Quit(ref dummy2, ref dummy, ref dummy); } } catch { } //Cập nhật thông tin của Licence if (FrameworkParams.Lic != null) ((DevExpres.Tutor.ILicence)FrameworkParams.Lic).updateReleaseLicence("NOOP"); FrameworkParams.Custom.exitApplication(); ExitFlag.Value = true; } } } catch (Exception ex) { PLException pl = new PLException(ex, "", "", "", "Lỗi thoát khỏi ứng dụng"); PLException.AddException(pl); lock (ExitFlag) { FrameworkParams.Custom.exitApplication(); ExitFlag.Value = true; } } }