Visual Studio Tools for Office で重い処理する場合について
ですよね… RT @hidori: normalian VSTO アドインのコンテキストは、そのアドインをホストしている Office アプリケーションのもの=起動済みなので、スレッディングモデルを変更することは出来ません。
2012-04-06 17:12:34@normalian 問題は、VSTO アドインのコンテキストからワーカースレッドにインターフェースポインタを引き渡す際に、それをマーシャリングしなくてはダメってこと。
2012-04-06 17:14:12@hidori VSTO必須じゃないので、「もう VSTO じゃなくても良いかも☆(ゝω・)vキャピ」な感じはしております(汗
2012-04-06 17:16:10@normalian VSTO じゃなくてもいいなら、PIA を参照設定した単品アプリからフツーにオートメーションしたほうが早いと思いますよ (^^;
2012-04-06 17:17:08つ http://t.co/XWj5HXop RT @normalian: @hidori VSTO必須じゃないので、「もう VSTO じゃなくても良いかも☆(ゝω・)vキャピ」な感じはしております(汗
2012-04-06 17:17:52@normalian VSTO でふんばるなら、ワーカースレッドなんて夢見ないで、適当な粒度に処理を分解してプログレスを表示してお茶にごすとか。
2012-04-06 17:18:24正直、VSTO で踏ん張るなら、これが一番現実的だと思ってました(汗 RT @hidori: normalian VSTO でふんばるなら、ワーカースレッドなんて夢見ないで、適当な粒度に処理を分解してプログレスを表示してお茶にごすとか。
2012-04-06 17:19:10真面目にマーシャリングするのがめんどくさかったら、GIT (Global Interface Table) 使って逃げるという秘境技もあったりなかったり。。。
2012-04-06 17:23:05@normalian ちょっとググったら、AppDomainまたいでるのが問題くさいので、 http://t.co/4r2Mkkh9 これ使えばいいんじゃね?
2012-04-06 18:00:44@normalian とりあえず、BackgroundWorkerはそもそもオワコンなので、VSTO抜きにして触らない方が良いよ。
2012-04-06 18:01:08@normalian もう1個。こっちの方がコードのハイライトかかってて見やすい。 http://t.co/hO5OLPNe
2012-04-06 18:01:58@normalian 僕のゆってる「マーシャリング」は .NET のマーシャリングじゃなくて、「OLE/COM のマーシャリング」である点に注意ね。この場合の境界は .NET の AppDomain ではなく、OLE/COM のアパートメントです。
2012-04-06 18:08:23