MSDN Library に System.AddIn名前空間たるものがあります。アプリケーションを拡張できるようにするものです。
これを使って、UIを返すアドインを WindowsForm で実装しようとしていたんですが、できません。どうやら、アプリケーションドメイン間でコントロールがうまく動いてくれないようです。
System.Windows.Forms.Control は MarshalByRefObject を継承してるくせにできません。ControlCollection.Add()とかで追加しようとすると、internal なメソッドにアクセスしたとか言うエラーが出ます。
ためしに、Control.Handleプロパティから取得したハンドルを渡して、Control.FromChildHandle()とかいうので取得しようとしてもだめです。null帰ってきます。アプリケーションドメインが違うとメモリ空間も違うってことでしょうか?
誰か解決法があったら教えてください。よろしくお願いします。
0 件のコメント:
コメントを投稿