sta

    11熱度

    2回答

    因此,在this之後,我決定在專用的STA線程上顯式實例化一個COM對象。實驗表明,COM對象需要一個消息泵,這是我通過調用Application.Run()創建: private MyComObj _myComObj; // Called from Main(): Thread myStaThread = new Thread(() => { _myComObj = new M

    0熱度

    1回答

    當試圖創建WPF用戶控件時,使用myWpfUserControl = new MyWpfUserControl();,WinForm背後的代碼崩潰The calling thread must be STA, because many UI components require this.。它似乎在基礎用戶控件構造函數中崩潰。 我的應用程序的入口點是ApplicationStartup在App.x

    0熱度

    1回答

    我有一個需要在單線程模式下運行的腳本,我現在用一個批量的-sta參數啓動它。是否可以在-sta模式下僅運行腳本來運行腳本?我想過把整個腳本移到一個函數中,並以單線程模式執行這個函數。 這可能嗎?我不想給出一個批處理文件和我的PS1。

    3熱度

    2回答

    我剛剛開始處理STA/MTA問題,因此對於問題的簡單性表示歉意。我在這裏的階梯底部找不到我實際可以理解的答案。 我正在爲另一個軟件寫一個插件,並且需要創建一些UI元素的工作線程中出現一個點。我明白,我不能從工作線程內部執行此操作,因爲它不是STA線程,而且我需要返回Main(或另一個?)STA線程來創建UI元素。一些澄清會有很大幫助。 是否所有STA線程都具有相同的「權限」,即如果主線程是STA並

    0熱度

    1回答

    我想知道是否有任何簡單的方法讓保存文件對話框在與我的程序的主窗口相同的線程中運行? private void saveAs_click(object sender, EventArgs e) { System.Windows.Forms.SaveFileDialog saveDiag = new System.Windows.Forms.SaveFileDialog(); s

    0熱度

    1回答

    我遇到了Mutex類的問題。我正在處理多實例WPF應用程序,並希望鎖定除了首先調用方法之外的所有其他實例輸入的特定進程。 所以我創建了一個新的互斥對象: private static Mutex lockMutex = new Mutex(false, "LockOnTaskOpen"); ,然後在一個方法,我做了以下內容: try { if (lockMutex.WaitOne(500)

    0熱度

    1回答

    在Win服務處於活動狀態10年後,從.NET 1.1切換到3.5,處理超過200萬個文件。我有一個異步類,它使用FileSystemWatcher事件處理程序將圖形打印到PDFPrinter,現在在它自己的STA線程上歸檔PDF文件。由於現有客戶端應用程序方法允許以DateTime間隔創建所有缺少的PDF,所以PDF創建是異步的。 (1)如果事件處理程序在STA線程上分離,則服務將掛起。 (2)只

    1熱度

    1回答

    我有ASP.NET Web Api項目,我需要使用VB6 COM DLL。我有一個控制器,在那裏我從com創建類的對象,並在我的動作中使用該對象。當我從ca調用該動作時,一切似乎都奏效。 2000-2500線程,但是當我從多個線程運行它,然後我得到這個錯誤在創建COM對象實例: Creating an instance of the COM component with CLSID from th

    0熱度

    1回答

    所以。我正在沿用一些使用WP#F#blog here的教程。 我正在與第二個。 因爲我正在嘗試爲更大型的企業應用程序學習F#WPF,所以使用一堆F#腳本文件對我來說沒有多大意義。所以我試圖將它轉換成一個常規的.fs文件,作爲一種類型,我可以在別處的主要方法中創建一個實例。 namespace wpf module File1 = open System open

    0熱度

    1回答

    我試圖實例化並顯示一個窗口,當我收到一個異常說{"The calling thread must be STA, because many UI components require this."}所以我重新做了一個單獨的STA線程如下所示: var thread = new Thread(() => { notificationPopUp = new NotificationPopU