public void Destroy() { LOGIN.Destroy(); LOGIN = null; SC.Destroy(); foreach (SubMenus item in OpenButtons) { item.Destroy(); } OpenButtons.Clear(); for (int i = 0; i < Labels.Count; i++) { Labels[i].Delete(); Marshal.ReleaseComObject(Labels[i]); Labels[i] = null; } Labels.Clear(); foreach (Timers item in TIMERS) { item.Destroy(); } TIMERS.Clear(); foreach (Watchers item in WATCHERS) { item.Dispose(); } WATCHERS.Clear(); dlgUsersOnline.Visible = false; dlgUsersOnline.Destroy(); dlgUsersOnline.Dispose(); dlgUsersOnline = null; InternetChecking.Visible = false; InternetChecking.Dispose(); InternetChecking = null; m_ctrlOpenMaps.Delete(); Marshal.ReleaseComObject(m_ctrlOpenMaps); m_ctrlOpenMaps = null; Marshal.ReleaseComObject(m_cmdOpenMaps); m_cmdOpenMaps = null; m_ctrlPublishMap.Delete(); Marshal.ReleaseComObject(m_ctrlPublishMap); m_ctrlPublishMap = null; Marshal.ReleaseComObject(m_cmdPublishMap); m_cmdPublishMap = null; m_ctrlShareMap.Delete(); Marshal.ReleaseComObject(m_ctrlShareMap); m_ctrlShareMap = null; Marshal.ReleaseComObject(m_cmdShareMap); m_cmdShareMap = null; m_ctrlReceiveMap.Delete(); Marshal.ReleaseComObject(m_ctrlReceiveMap); m_ctrlReceiveMap = null; Marshal.ReleaseComObject(m_cmdReceiveMap); m_cmdReceiveMap = null; m_ctrlShareMaps.Delete(); Marshal.ReleaseComObject(m_ctrlShareMaps); m_ctrlShareMaps = null; Marshal.ReleaseComObject(m_cmdShareMaps); m_cmdShareMaps = null; m_rgMaps.Delete(); m_myTab = null; }
public void m_cmdOpenMaps_UpdateState(ref bool pEnabled, ref bool pChecked) { pEnabled = true; pChecked = false; if (!m_UpdateOpenMap) { return; } m_UpdateOpenMap = false; int a = 1; List <string> aProjects = new List <string>(); List <string> aSingleMaps = new List <string>(); if (OpenButtons.Count != 0) { foreach (SubMenus item in OpenButtons) { item.Destroy(); } for (int i = 0; i < Labels.Count; i++) { Labels[i].Delete(); Marshal.ReleaseComObject(Labels[i]); Labels[i] = null; } } OpenButtons.Clear(); Labels.Clear(); using (ProjectsDB _db = new ProjectsDB()) { DataTable _dt = _db.ExecuteQuery("select * from PROJECTS order by PROJECTNAME"); foreach (DataRow _row in _dt.Rows) { aProjects.Add(_row["PROJECTNAME"].ToString()); } } using (PlacesDB _db = new PlacesDB()) { DataTable _dt = _db.ExecuteQuery("select * from PLACES order by PLACENAME"); foreach (DataRow _row in _dt.Rows) { aSingleMaps.Add(_row["PLACENAME"].ToString()); } } using (MapsDB _db = new MapsDB()) { bool _label = true; Control m_label = null; // Get maps by projects foreach (string _project in aProjects) { DataTable _dt = _db.ExecuteQuery("select * from MAPS where PROJECTNAME=`" + _project + "` order by MAPNAME"); foreach (DataRow _row in _dt.Rows) { if (_label) { m_label = m_ctrlOpenMaps.Controls.AddLabel(_project); _label = false; Labels.Add(m_label); } m_menus = new SubMenus(); OpenButtons.Add(m_menus); m_menus.AddMapToOpenMenu(_row["MAPGUID"].ToString(), _row["MAPNAME"].ToString(), "map" + a++); } _label = true; } //_label = true; // Get single maps foreach (string _place in aSingleMaps) { DataTable _dt = _db.ExecuteQuery("select * from MAPS where PROJECTNAME = `" + "" + "` and PLACENAME=`" + _place + "` order by MAPNAME"); //DataTable __dt = _db.ExecuteQuery("select * from MAPS"); foreach (DataRow _row in _dt.Rows) { if (_label) { m_label = m_ctrlOpenMaps.Controls.AddLabel(_place + ": " + SUtils.SingleMaps); _label = false; Labels.Add(m_label); } m_menus = new SubMenus(); OpenButtons.Add(m_menus); m_menus.AddMapToOpenMenu(_row["MAPGUID"].ToString(), _row["MAPNAME"].ToString(), "map" + a++); } _label = true; } aProjects.Clear(); aSingleMaps.Clear(); } }