タグ

2012年4月13日のブックマーク (4件)

  • C# - COM オブジェクトの参照カウントを解放する

    COM オブジェクトを扱う場合は、参照カウントの解放を意識しなければなりません。使用した COM オブジェクトの参照カウントが、正しくデクリメントされていないと意図したタイミングでプロセスが解放されません。 参照カウントのデクリメントは、System.Runtime.InteropServices.Marshal クラスにある ReleaseComObject メソッドを使用します。COM ラッパ オブジェクト (COM そのものではない) の参照が未到達になれば、ガベージ コレクションを実行して解放することができますが、こちらはあくまでも保険です。 参照カウントのデクリメント解放自体は、ReleaseComObject メソッドを呼び出すだけですので難しくはありません。面倒なのは、ReleaseComObject メソッドを実行するために、参照したものをすべて変数へ格納しておく必要がある

    rydot
    rydot 2012/04/13
  • いげ太のブログ: [C#] COM と RCW と参照カウント

    いたるところで書かれてはいるものの、個人的に、それその記事ひとつで理解できるというようなズバピタな記事がなかったので学習メモ。ていうか、調べてたらキリがなくなってきたので、いったんフィックスしたい。 ランタイム上で暗躍する RCW .NET から COM オブジェクトを扱うということは、マネージドからアンマネージにアクセスするということであり、すなわちマーシャリングが必要となる。これは、ランタイム呼び出し可能ラッパー(RCW: Runtime Callable Wrapper)なるしくみによって行われる。 図: クライアント --> RCW --> COM オブジェクト 通常、.NET クライアント(アプリケーション)が直接的に扱うのは、生身の COM オブジェクトではなく、そのラッパーたる RCW である。ランタイム(.NET Framework)によってサポートされるため意識しづらいが

    rydot
    rydot 2012/04/13
  • tryfs.net

    This domain may be for sale!

    rydot
    rydot 2012/04/13
  • F#で初めての関数型プログラミング(1/3) - @IT

    ■F#とは F#は、マイクロソフト社製のプログラミング言語で、Visual Studio 2010から標準搭載されている。まずは、F#がどのような言語なのかを見てみよう。 ●マルチパラダイム言語「F#」 F#は複数のパラダイムをサポートするマルチパラダイム言語だ。F#がサポートするパラダイムには、 手続き型 関数型 オブジェクト指向プログラミング などがある。 マルチパラダイム言語であるため、C#やVB(Visual Basic)といった従来の.NET言語を置き換える形でF#を使うこともできる。しかし、記事ではF#のメインとなるパラダイムである「関数型」にフォーカスを当てて紹介していく。 ●関数型言語「F#」 F#は、静的型付けの関数型言語である「OCaml」に強い影響を受けている。そのため、F#の主となるパラダイムは関数型プログラミングになる。 さて、関数型言語とは何だろうか? この問

    rydot
    rydot 2012/04/13