読者です 読者をやめる 読者になる 読者になる

のねのBlog

パソコンやソフト開発で起きた問題など書きます。よろしくお願いします。

Programing-C#

SizeParamIndex

SizeParamIndex フィールドは、 マネージからアンマネージおよびアンマネージからマネージへの呼び出しをサポートしています。 配列が C スタイル配列として渡される場合、 マーシャラーでは配列のサイズを決定できません。 したがって、マネージ配列をアン…

Blittable(ブリッタブル)とmarshalling(マーシャリング)

マーシャリングのわかりやすい図が、MSDNにあった。 値渡しされるメソッド引数は、スタック上の値としてアンマネージ コードにマーシャリングされます。 コピーのプロセスは直接的です。 参照渡しされる引数は、ポインターとしてスタック上に渡されます。 参…

C# 継承したクラスのメソッドで一部分を書き換えたいとき

継承したクラスのメソッドで、一部分を書き換えたいとき、 このページの説明が、一番わかりやすかった。 virtualとoverrideというキーワードを用いると、オブジェクトにアクセスする変数の型とは関係なく、置き換えたメソッドが呼び出されるようになったわけ…

継承したフォームで、別のPaint関数を呼ぶ方法

継承した、Designers.csにイベントを登録したら、呼ばれるようになった。 private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.Paint += new System.Windows.Forms.PaintEventHandler(this.KEISYOU_VIEW_F…

PtrToStructure

ポインタから構造体へ Marshal.PtrToStructureを使います。

DllImport Charset.Auto

CharSet.Auto プラットフォーム呼び出しでは、対象となるプラットフォームに応じて、実行時に ANSI 形式または Unicode 形式を選択します。

C#でFillPolygonしたところ、1dot小さく塗りつぶした。

C# Win32 API での DLL

C# Win32 API および DLL の利用

StructureToPtr

Managed側からUnmanaged側のポインタへ構造体内容をコピーするにはMarshal.StructureToPtrメソッドを使用する。

エラー 60 既に fixed が使用されている式のアドレスを取得するために、fixed ステートメントを使用することはできません。

// 既に fixed が使用されている式のアドレスを取得するときに、fixed ステートメントを使用する必要はありません。

間違ったフォーマットのプログラムを読み込もうとしました。

System.BadImageFormatException はハンドルされませんでした。 Message="間違ったフォーマットのプログラムを読み込もうとしました。 (HRESULT からの例外: 0x8007000B)" このエラーをみたとき、どういう意味のエラーなのか、わかりませんでした。 どうすれ…