以前VB6.0で作成したプログラムをVB.Net2003に置換えしている
のですが、SetWindowLongの引数でビルドエラーになってしまいます。
VB6で
hOldWndProc = SetWindowLong(Me.TextBox1.hWnd, GWL_WNDPROC, _
AddressOf TextBoxProc)
だったところを
.NETで
hOldWndProc = SetWindowLong(Me.TextBox1.Handle.ToInt32, _
GWL_WNDPROC, AddressOf TextBoxProc)
に変更したところ
「'Integer' は、デリゲート型でないため、'AddressOf' 式を
'Integer' に変換できません。」
というエラーが発生してしまいます。
どのような記述をすればよろしいのでしょうか。
宜しくお願い致します。
On Wed, 1 Mar 2006 18:48:31 +0900
"T.O" <tohm...@yamatane.co.jp> wrote:
> hOldWndProc = SetWindowLong(Me.TextBox1.Handle.ToInt32, _
> GWL_WNDPROC, AddressOf TextBoxProc)
> に変更したところ
[.NET 開発]
+ [.NET 開発]
+ [.NET Framework SDK]
+ [.NET Framework]
+ [.NET Framework を使用したプログラミング]
+ [アンマネージ コードとの相互運用]
+ [相互運用マーシャリング]
+ [プラットフォーム呼び出しによるデータのマーシャリング]
+ [各種のマーシャリングのサンプル]
+ [Callback のサンプル]
あたりを確認してみてください。
---
MVP kaok = MVP.ChangeMvpCategory("for C# 2004-2006.");
kaok.Web = "http://www.antoine.st/";