私はマルチスレッドアプリケーションではあまりうまくいかないようです。私はFolderBrowserDialog
をオープンしようとしていますが、私は私に告げる例外を得ていた。指定したCOMアパートメントの状態を設定できません
Current thread must be set to single thread apartment (STA) mode before OLE calls can be made.
が、私は私の主な方法でSTAThreadAttribute
セットを持っていますが、FolderBrowserDialogは、私のメインスレッド以外のスレッドから呼び出されています。試しました
しかし例外はFailed to set the specified COM apartment state
でした。
STAモードで新しいスレッドを作成してFolderBrowserDialog
を開く一時的な修正がありますが、これ以上の解決策があります。アパートの状態をSTAに設定できない原因は何ですか?
OLE関連の関数にアクセスするスレッドを作成するときに、 'Threading.ApartmentState.STA'を設定する方が良いでしょう。 – Damith