dポイントプレゼントキャンペーン実施中!

VB6からVB2010への移行を行うにあたり、
VB6→VB2008→VB2010
のコンバートを行いました。

が、以下のソースがコンバートされてコンパイルエラーになってしまいます。
エラー内容:
型 'System.Windows.Forms.Cursor' の値を 'Integer' に変換できません。

---(1)元のソース------------------
Dim lSv_Mouse As Long

'マウスポインタ状態の保存
lSv_Mouse = Screen.MousePointer

(中略)

'マウスポインタ状態の復元
Screen.MousePointer = lSv_Mouse
----------------------------------

---(2)コンバート後のソース---------
Dim lSv_Mouse As Integer

'マウスポインタ状態の保存
lSv_Mouse = System.Windows.Forms.Cursor.Current

(中略)

'マウスポインタ状態の復元
System.Windows.Forms.Cursor.Current = lSv_Mouse
----------------------------------

何か良い方法は無いでしょうか?

A 回答 (1件)

コンバータはあくまでコンバータなので,変更後のソースが正しいことは自分で調査する必要があります。



今回の場合では,コンパイルエラーにある通りです。
カーソルはSystem.Windows.Forms.Cursor型を使って保持しないといけません。
なので,lSv_Mouseの型をSystem.Windows.Forms.Cursor型に変更して下さい。
もちろん,それに伴って別の修正が必要になるかもしれませんが。
    • good
    • 0
この回答へのお礼

型変換で、int、long、String等のいずれかに変換しなければと思い込んでいました。
変数定義を
Dim lSv_Mouse As System.Windows.Forms.Cursor
として解決しました。

ありがとうございました。

お礼日時:2013/04/24 17:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!