1. 程式人生 > >WPF異常:呼叫執行緒無法訪問此物件,因為另一個執行緒擁有該物件。

WPF異常:呼叫執行緒無法訪問此物件,因為另一個執行緒擁有該物件。

WPF專案中,在viewmodel類中(非ui類),新建了一個非同步呼叫,程式碼如下: (new Action(delegate { try { MakeSunLine(); } catch (Exception ex) { ex.ToString(); if (!MRedis.redisConnect(cache)) { whileBol = false; } } })).BeginInvoke(null, null); 程式碼的含義是非同步呼叫一個委託,爆出如下異常: “呼叫執行緒無法訪問此物件,因為另一個執行緒擁有該物件。” 經過一番折騰,終於找到了解決辦法,原來是呼叫方式出現問題,修改程式碼如下: System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(delegate { try { MakeSunLine(); } catch (Exception ex) { ex.ToString(); if (!MRedis.redisConnect(cache)) { whileBol = false; } } })); 呼叫委託的方式改變為System.Windows.Application.Current.Dispatcher.BeginInvoke(委託); 不再提示異常,程式正常執行。

相關推薦

WPF異常呼叫執行無法訪問物件因為一個執行擁有物件

WPF專案中,在viewmodel類中(非ui類),新建了一個非同步呼叫,程式碼如下: (new Action(delegate { try { MakeSunLine(); } catch (Exception ex) { ex.ToString(); if (!MRed

C#技巧【呼叫執行緒無法訪問此物件,因為另一個執行緒擁有該物件的問題的解決辦法】【C#讀寫EXCEL原始碼提示“office檢測到檔案存在一個問題為幫助保護您的計算機,不能開啟檔案”的解決】

SYD8801是一款低功耗高效能藍芽低功耗SOC,集成了高效能2.4GHz射頻收發機、32位ARM Cortex-M0處理器、128kB Flash儲存器、以及豐富的數字介面。SYD8801片上集成了Balun無需阻抗匹配網路、高效率DCDC降壓轉換器,適合用於可穿戴、物聯網

【VS2010學習筆記】【異常處理】一(無法啟動程式因為計算機中丟失libiconv-2.dll)

問題1:“無法啟動此程式,因為計算機中丟失libiconv-2.dll” 問題描述:        在VS2010+Opencv2.4.7的程式除錯的過程中,再點選“執行”後,系統提示“無法啟動此程式

啟動MongoDB提示無法啟動程式因為計算機中丟失api-ms-win-crt-runtime-|1-1-0.dll

前提:已完成好MongoDB 進入MongoDB安裝根目錄下的bin目錄下,啟動MongoDB 啟動mongod.exe提示“無法啟動此程式,因為計算機中丟失api-ms-win-crt-runtime-|1-1-0.dll” 解決方法 微軟官方提供的 vc_

Mysql 下載與安裝問題一無法啟動程式因為計算機丟失MSVCR120.dll

宣告:本文只針對我所安裝的Mysql 5.7.18(64位)版本所遇到的問題。 問題:          安裝MySQL資料庫,執行如下命令:         mysqld.exe -install

解決springboot無法訪問網站localhost 拒絕了我們的連線請求的問題

最近剛開始學習springboot的時候,寫了幾個controller,始終出現無法訪問的頁面,沒有報404的錯誤, 出錯的頁面如下 大家注意到沒有,在springboot啟動成功標誌之前,多了一些debug 的提示,正常啟動,是沒有提示的,我查詢資料,始終解決不了這個問題,沒有

.net 關於JSON轉換為物件時出現的資料協定型別 “***”無法反序列化因為未找到必需的資料成員 **(欄位名)

[System.Runtime.Serialization.DataMember(Name = "appPicPath")] 關於使用 DataContractJsonSerializer 把json字串序列化成 .net類物件 出現數據協定型別 “***”無法反序列化,因

ActiveMQ管理頁面未找到(無法訪問網站埠號只監聽了ipv6)

昨天,在給測試伺服器部署ActiveMQ的時候,遇到了一個問題,部署的很順利,但是無法使用ip地址加埠號去訪問ActiveMQ的管理頁面,顯示無法訪問此網站。使用netstat -tnlp命令檢視監聽埠時,發現8161和61616兩個埠都只監聽了ipv6。下圖所示是修改後的狀

w764位運行python報錯無法啟動程序因為計算機中丟失api-ms-win-crt-process-l1-1-0.dll

process 搜索 direct 目錄 window 網盤 缺失 無法 -- 安裝python3.6.5,安裝成功後,在cmd窗口輸入python檢查是否安裝成功,報錯如下圖: 針對這個問題,在網上查詢了多種方法試過都未解決: 方法1:我的電腦是64位的,安裝的pyth

讓 Windows7 - 64bit 支援 VC++ 6.0 的解決方法(無法啟動程式因為計算機中丟失 MSVCRTD.dll嘗試重新安裝程式以解決問題)

源地址:https://www.cnblogs.com/poissonnotes/p/4372136.html   無法啟動此程式,因為計算機中丟失 MSVCRTD.dll。嘗試重新安裝該程式以解決此問題。 我用的作業系統是Windows 7 -64bit,我把DLL下載以後按常

無法啟動程式因為計算機中丟失api-ms-win-downlevel-shlwapi-l1-1-0.dll檔案

最近遇到如題所示彈框的問題,花了很長時間才解決,解決方法卻很簡單。故記錄下來。 其他dll檔案缺失也可以用同樣辦法。 解決方法: 找到相同系統卻沒有該問題的情況(比如出問題的是64位的win7系統,那就找一個沒有該問題的64位的win7系統)。將正常系統的api

QT "無法啟動程式因為計算機丟失Qt5Core.dll"等dll丟失問題

QT "無法啟動此程式,因為計算機丟失Qt5Core.dll。"等dll丟失問題 一、簡述         將QtCreate編譯生成的exe檔案拷貝到其它目錄或主機,出現以下問題: 類似"無法啟動此程式,因為計算機丟失Qt5Core.dll。嘗試

無法啟動程式因為計算機丟失MSCVR120.dll相關問題解決方法總結

      今天正想開啟vs2013寫東西時,結果就說無法啟動此程式,因為計算機丟失MSVCR120.dll。遇到該問題時不要急著重灌軟體,可以試下別的方法。 現在把我解決此類問題的方法做一個總結。 1.無法啟動此程式,因為計算機丟失MSVCR120.dll。

64bit 支援 vs2012 的解決方法(無法啟動程式因為計算機中丟失 MSVCRTD.dll

無法啟動此程式,因為計算機中丟失 MSVCRTD.dll。嘗試重新安裝該程式以解決此問題。 我用的作業系統是Windows 7 -64bit,我把DLL下載以後按常往的習慣放入到System3

無法啟動程式因為在計算機中丟失 MSVCP140.dll嘗試重新安裝程式以解決問題 的解決辦法

該異常時在安裝MySQL資料庫服務是遇到的,錯誤提示內容如下圖:“ 無法啟動此程式,因為在計算機中丟失 MSVCP140.dll。嘗試重新安裝該程式以解決此問題。”如下圖:我這兒是缺少vc++2005導

iar for stm v3.10.1無法啟動程式因為計算機中丟失VCRUNTIME140.dll 嘗試重新安裝程式以解決問題

1、因為iar安裝時已經安裝vc_redist.x64。所以無需再安裝。64位系統我們得下載一個vcruntime140.dll 【連結: http://pan.baidu.com/s/1mi1wy3A 密碼: r7n3】 2、下載完成後解壓檔案,把32位的vcrun

關於直接開啟ICE demo的exe檔案的錯誤提示“無法啟動程式因為計算機中丟失MSVCP100D.dll.”

    初看這個問題一般來說是exe程式缺少對應的dll檔案!可是本機的windows/systemWOW64中明明就有這個dll檔案,偶然得知ICE的demo在Visual Studio編譯器下進行除錯時只能用MDd模式,即多執行緒除錯dll,其生成的exe檔案的過程中就

OpenCV 無法啟動程式因為計算機中丟失opencv_core249.dll請嘗試重新安裝改程式已解決問題

\opencv\build\x86\vc11\bin\opencv_core249.dll”。無法查詢或開啟 PDB 檔案,那就是缺少opencv_core249.dll動態連結庫了, 在安裝目錄下

VS2010x64 無法啟動程式因為計算機中丟失MSVCR100D.dll和LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞

1.安裝完VS2010,新建工程,win32平臺編譯執行,沒問題;x64平臺出現VS2010x64 無法啟動此程式,因為計算機中丟失MSVCR100D.dll。嘗試重新安裝該程式以解決此問題的錯誤, 在專案裡面找屬性:Property->C/C++->Code

vs2013安裝openCV2.4.9時出現無法啟動程式因為計算機中丟失opencv_core249d.dll

我是安裝的VS2013和openCV2.4.9 當在進行測試看openCV是否安裝成功時出現opencv無法啟動該程式,因為計算機中丟失opencv_core249d.dll的問題 解決方法: 首先在