針對此 RuntimeCallableWrapper 向 COM 背景關系 0xb1d120 的轉換失敗,錯誤如下: 系統呼叫失敗。 (例外來自 HRESULT:0x80010100 (RPC_E_SYS_CALL_FAILED))。原因通常是創建此 RuntimeCallableWrapper 的 COM 背景關系 0xb1d120 已斷開連接,
代碼
//從Values取資料
List<Leave> listLeave = new List<Leave>();
int countItem = -1;
int itemIndex = 0;
List<int> listCount = new List<int>();
foreach (List<Leave> item1 in dicLeave.Values)
{
for (int i = 0; i < item1.Count; i++)
{
l = (Leave)item1[i];
listLeave.Add(l);
countItem++;
}
listCount.Add(countItem);
}
//ifj1==listCount的其中一個值,listCount換下一個int j1 = 0; j1 < listLeave.Count; j1++
foreach (Leave leave in listLeave)//listLeave.count == 1357個
{
l = leave;
month = Convert.ToInt32(l.DBeginDate.Substring(5, 2));
day = Convert.ToInt32(l.DBeginDate.Substring(8, 2));
h = (Convert.ToDouble(l.NActualLeaveHours)) / Convert.ToDouble(l.nActualLeaveTime);
//判斷年假
if (l.CLeaveType.Equals("BS04"))
{
//如果請假時間超過1天
if (Convert.ToDouble(l.nActualLeaveTime) > 1)
{
double n = Math.Ceiling(Convert.ToDouble(l.nActualLeaveTime));
for (int p = 0; p < n; p++)
{
monthReset();
isSunday(isWeek);
isHalfDay(p,n);
xSt.Cells[row04, col04] = month + "月" + day + "日~" + h + "H";
count04 = 2;
reset();
count04 = 1;
}
jia04 = Convert.ToDouble(l.NActualLeaveTime);
sum04 += jia04;
}
else
{
xSt.Cells[row04, col04] = month + "月" + day + "日~" + l.NActualLeaveHours + "H";
jia04 = Convert.ToDouble(l.NActualLeaveTime);
sum04 += jia04;
}
}
//判斷探親假
#region
else if (l.CLeaveType.Equals("BS07"))
{
double n = Math.Ceiling(Convert.ToDouble(l.nActualLeaveTime));
if (Convert.ToDouble(l.nActualLeaveTime) > 1)
{
for (int p = 0; p < n; p++)
{
monthReset();
xSt.Cells[row07, col07] = month + "月" + day + "日~" + h + "H";
count07 = 1;
count04 = 1;
reset();
}
jia07 = Convert.ToDouble(l.NActualLeaveTime);
sum07 += jia07;
}
else
//單次請假
{
xSt.Cells[row07, col07] = month + "月" + day + "日~" + l.NActualLeaveHours + "H";
jia07 = Convert.ToDouble(l.NActualLeaveTime);
sum07 += jia07;
}
}
uj5u.com熱心網友回復:
有什么好辦法解決嗎???轉載請註明出處,本文鏈接:https://www.uj5u.com/net/52427.html
標籤:C#
