Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

AddressOf式をInteger型に変換する方法について

91 views
Skip to first unread message

T.O

unread,
Mar 1, 2006, 4:48:31 AM3/1/06
to
T.Oと申します。

以前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' に変換できません。」
というエラーが発生してしまいます。

どのような記述をすればよろしいのでしょうか。
宜しくお願い致します。

Kaoru Kodaka

unread,
Mar 1, 2006, 6:01:12 AM3/1/06
to
かおく です。

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/";

0 new messages