优化模块资源释放与异步预加载
This commit is contained in:
@@ -3245,8 +3245,11 @@ namespace Lskj.Main.Control
|
||||
if (Manager.ModuleForms.ContainsKey(guid))
|
||||
{
|
||||
DllModule m = Manager.ModuleForms[guid];
|
||||
Manager.ModuleCloseSnapshot closeSnapshot =
|
||||
Manager.PrepareModuleClose(m, item);
|
||||
tabMain.TabPages.Remove(item);
|
||||
Manager.ModuleForms.Remove(m.Tag + "");
|
||||
Manager.ModuleForms.Remove(guid);
|
||||
Manager.CompleteModuleClose(closeSnapshot);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3821,10 +3824,12 @@ namespace Lskj.Main.Control
|
||||
string guid = tabPage.Tag + "";
|
||||
if (!string.IsNullOrWhiteSpace(guid))
|
||||
{
|
||||
DllModule m = Manager.ModuleForms[guid];
|
||||
if (Manager.ModuleForms.ContainsKey(guid))
|
||||
DllModule m;
|
||||
if (Manager.ModuleForms.TryGetValue(guid, out m) && m != null)
|
||||
{
|
||||
Form form = m.ModuleForm as Form;
|
||||
Manager.ModuleCloseSnapshot closeSnapshot =
|
||||
Manager.PrepareModuleClose(m, tabPage);
|
||||
if (form != null)
|
||||
{
|
||||
form.Close();
|
||||
@@ -3850,7 +3855,8 @@ namespace Lskj.Main.Control
|
||||
{
|
||||
if (this.PreviousTab != null) this.tabMain.SelectedTabPage = this.PreviousTab;
|
||||
tabMain.TabPages.Remove(tabPage);
|
||||
Manager.ModuleForms.Remove(m.Tag + "");
|
||||
Manager.ModuleForms.Remove(guid);
|
||||
Manager.CompleteModuleClose(closeSnapshot);
|
||||
LogUtil.WriteDebug(m.Code, "关闭模块", m.Name, m.Name, m.Id);
|
||||
}
|
||||
|
||||
@@ -3956,10 +3962,12 @@ namespace Lskj.Main.Control
|
||||
string guid = page.Tag + "";
|
||||
if (!string.IsNullOrWhiteSpace(guid))
|
||||
{
|
||||
DllModule m = Manager.ModuleForms[guid];
|
||||
if (Manager.ModuleForms.ContainsKey(guid))
|
||||
DllModule m;
|
||||
if (Manager.ModuleForms.TryGetValue(guid, out m) && m != null)
|
||||
{
|
||||
Form form = m.ModuleForm as Form;
|
||||
Manager.ModuleCloseSnapshot closeSnapshot =
|
||||
Manager.PrepareModuleClose(m, page);
|
||||
if (form != null) form.Close();
|
||||
|
||||
bool isclose = true;
|
||||
@@ -3975,7 +3983,8 @@ namespace Lskj.Main.Control
|
||||
{
|
||||
if (this.PreviousTab != null) this.tabMain.SelectedTabPage = this.PreviousTab;
|
||||
tabMain.TabPages.Remove(page);
|
||||
Manager.ModuleForms.Remove(m.Tag + "");
|
||||
Manager.ModuleForms.Remove(guid);
|
||||
Manager.CompleteModuleClose(closeSnapshot);
|
||||
LogUtil.WriteDebug(m.Code, "关闭模块", m.Name, m.Name, m.Id);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user