]メモリ使用量の調査。]1(VB.Net)COMオブジェクトを解放する.Net側からはなるべくCOMを使わないほうがいいといわれてますが、どうしても必要な時は結構あります。そのときのCOMオブジェクトの解放についてです。実はCOMについてはよくわかっていません。プログラミングの勉学を始めたのもCOMから.Netへの移行時期であり、当時はJ2EEのほうに注力してたため、現在の会社ではたらくまでほとんど疎遠の技術でした。COMのインスタンスには参照カウンタというものがあって、自分がどれだけ参照されているかを管理してみたいです。参照カウンタが0になったら自信を消去して解放という流れみたいです。)をいうCOMとCLRとの相互運用レイヤーを通してCOMを参照するみたいです。このRCWにも参照カウンタがあり、RCWからは唯一のCOMのインスタンスを見に行くらしいです。RCWの参照カウンタを空にしてやればCOMオブジェクトも解放されるということでしょうか。メソッドを利用すればこのRCWの参照カウンタを1つ減らせるようです。この場合だとCOMのインスタンスをいくつも持ってる場合だとループでまわして云々しないといけません。メソッドが追加された見たいです。すべての参照を解放するようです。一気に解放したい時に使えそうです。「相互運用パフォーマンスの向上」(「Marshal.ReleaseComObject」に解放方法載ってます。全般的にかなり詳しい情報載っています。.Net開発(VB.Net)自作コントロールにおいて、不要なプロパティをデザイナANDインテリセンスで隠したい時たとえば.Net標準のSystem.Windows.Forms.Buttonを継承した拡張ボタンコントロールを作ります。Studioのデザイナと、インテリセンス上では非表示することができるみたいです。■デザイナ上での非表示まず、実際のソースを見てみましょう。下記で指定してあるプロパティはデザイナでは非表示とする。Classまず、自作コントロールクラスの属性として、Designer(GetType(OriginalButton.OriginalDesigner))を宣言します。クラスを使ってねということでしょう。次に、OriginalButton.OriginalDesignerクラスを実装します。OriginalButtonの中に作り、インナークラスとします。OriginalButtonクラスはSystem.Windows.Forms.Design.ControlDesignerを継承します。PostFilterPropertiesメソッドをオーバーライドし、Properties.Remove("隠したいプロパティ名")で指定したプロパティをデザイナ上から非表示にできます。「■クラス属性の指定による[プロパティ]ウィンドウ上への非表示化」の項目にあります。C#のサンプルもあります。■インテリセンス上での非表示おなじく、またコードを見てみましょう。Classまず、非表示にしたい親クラスのプロパティをオーバーライドします。(親クラスのプロパティにOverridableがないときはShadowsを使っちゃいましょう)そして、セッター、ゲッターは親クラスのプロパティをそのまま投げる形にします。肝心なのはオーバーライドメソッドに<EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>の属性をつけることです。これでインテリセンス上にも出てきません。出てこないと言って使えないわけではない(テキストエディタ見たく手で打てばいいだけ)のでその点は要注意です。オブジェクト指向的にも継承元のメンバを使えないようにするということ自体、おかしなことかもしれません。実装とアーキテクチャントのずれの部分ですね。下のほうの「プロパティを非表示にするには」に記述。C#での書き方が載ってます。Server2005を動かしているサーバを電源断したらしいです。サービス接続ポイントの作成中にエラーが発生しました。コントローラが利用できないか、またはドメインへのアクセスでセキュリティ上の問題が発生しています。この操作は次回サービスを開始する際に再度試行されます。アクセスが拒否されました。(クリックすると大きくなるっぽいです)実はホストOSがWindows2008でドメインコントローラなので、それが悪いのかと思っていろいろ調べてみました。プリンシパル名とか(いまだによくわかっていません)の登録方法とか云々。子1時間悩みましたが、結局はVirtualServerのゲストOSの全般プロパティにある、自動起動のパスワードが違っているだけでした。いえば、先週パスワード変更週だったなぁと思いつつこんな簡単なことに気付かなかった自分が恥ずかしい。VirtualServerのヘルプによると動かす対象のゲストOSが利用するファイル(仮想ハードディスクや構成ファイル云々)に適切なアクセス権をふっておけばどのユーザでもOK的なことを書いていたので、試してみました。現状はAdministartorで起動しているのですが、パスワードは定期的に変更しないといけないため、VirtualServer用のアカウントを作りたかったわけです。