fix(legacy): keep bill cache control creation on UI thread
This commit is contained in:
@@ -431,15 +431,8 @@ namespace Lskj.PubBillSpecial
|
||||
//if (billModel.CenterMain) dataTable = this.SetControlMargins(dataTable);
|
||||
return dataTable;
|
||||
}));
|
||||
Task<MyControl> controlObjTask = cachesDic.AddTask(this, "ControlObj", new Task<MyControl>(() =>
|
||||
{
|
||||
MyControl myControl = new MyControl() { Model = dynamicModel };
|
||||
myControl.OtherParams = dynamicModel.OtherParams();
|
||||
cachesDic.AddTask(myControl, "DynamicModel", dynamicModelTask);
|
||||
cachesDic.AddTask(myControl, "ControlsTable", controlLocationTask);
|
||||
myControl.GetControlDataCaches(cachesDic);
|
||||
return myControl;//主表控件
|
||||
}));
|
||||
// MyControl 持有 WinForms Timer。后台阶段只加载控件配置,
|
||||
// 实际 MyControl 及编辑控件由 InitializeBillInfo 在 UI 线程创建。
|
||||
Task<DataTable> addGroupDataTask = cachesDic.AddTask(this, "AddGroupData", new Task<DataTable>(() =>
|
||||
{
|
||||
return BaseModuleImpl.GetAddGroupData(billModel.FormKey);//获取主信息分组数据
|
||||
@@ -940,6 +933,15 @@ namespace Lskj.PubBillSpecial
|
||||
if (!dataCaches.GetValue(this, "ControlObj", out ControlObj))
|
||||
{
|
||||
this.ControlObj = new MyControl() { Model = SysModel };//主表控件
|
||||
this.ControlObj.OtherParams = this.SysModel.OtherParams();
|
||||
if (dataCaches != null)
|
||||
{
|
||||
dataCaches.AddTask(this.ControlObj, "DynamicModel",
|
||||
new Task<DynamicModel>(() => this.SysModel));
|
||||
dataCaches.AddTask(this.ControlObj, "ControlsTable",
|
||||
new Task<DataTable>(() => controls));
|
||||
this.ControlObj.GetControlDataCaches(dataCaches);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6857,4 +6859,4 @@ namespace Lskj.PubBillSpecial
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user