More Related Content
Similar to Vb migration partnerデモ資料_api (20)
Vb migration partnerデモ資料_api
- 3. ©2014 infortech,Inc.ConfidentialandProprietaryInformation.
www.infortech.co.jp
PageNo.
3
02: Sample Project(ScreenSizeRec.vbp)
サンプルは、画面のサイズ、位置を記憶し、次回起動時に前回のサイズ、位置でフォームを表示する ScreenSizeRec.vbpプロジェクトになります。
ScreenSizeRec.vbpはフォーム(画面)一つで構成されていて、サイズ、位置情報をIniファイルに保存し、読み込む作りになっています。 このIniファイルの読み書きにWindowsAPIを使用しています。
サイズ、Screen位置情報
次回起動時にサイズ、 Screen位置情報を取得し 起動
サイズ、Screen位置情報
自由に画面の位置、サイズを変更し、画面を閉じる。
前回のサイズ、Screen位置 どおりに、画面を起動する。
- 4. ©2014 infortech,Inc.ConfidentialandProprietaryInformation.
www.infortech.co.jp
PageNo.
4
03: アップグレードウイザードによる変換結果
変換の結果、出来上がった.netソ リューションは2個のエラーが発 生した状態で出力されました。
エラーの原因はAsAnyで宣言さ れているパラメータを持ってい るコードが.NETではサポートさ れていないことによります。
※アップグレードウィザードに よる変換では、この互換性のな くなった部分がネックになりま す。
詳細Link:
Declare ステートメントは As Any 型の パラメータをサポートしない
ms- help://MS.VSCC.v90/MS.MSDNQTR.v90.ja/dv_vbvers/html/fae78a8d- 8978-4fd4-8208-5b7324a8f795.htm
また、FormのCaptionというプロパティ はVB.NETでは失われているため、 VB6のFormTitleが再現されていま せん。
- 8. ©2014 infortech,Inc.ConfidentialandProprietaryInformation.
www.infortech.co.jp
PageNo.
8
03: VB MIGRATION PARTNERによる変換結果
AsAnyの部分はVBMPではどのように変換されたのでしょうか?
Private Declare Function Writestr Lib "KERNEL32" Alias "WritePrivateProfileStringA" ( ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpszString As String, ByVal lpFileName As String) As Long
【VB6コード】
Private Declare Function Writestr Lib "KERNEL32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpszString As String, ByVal lpFileName As String) As Integer
【VBMPから作成されたVB.NETコード】
AsAnyはAs StringというlpKeyNameにふさわしい型で変換されました。
また、LongもIntegerに置き換わっています。
Private Declare Function Writestr Lib "KERNEL32" Alias "WritePrivateProfileStringA"(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpszString As String, ByVal lpFileName As String) As Integer
【MSUpgradeToolから作成されたVB.NETコード】
AsAnyはそのまま変換されずに移行され、エラーの原因となっています。
LongについてはIntegerに置き換わっています。