| | タイトル | : 2005のアップグレードウィザードにつきまして |  | 記事No | : 3096 |  | 投稿日 | : 2006/02/12(Sun) 15:35 |  | 投稿者 | : スー | 
 [OSのVer]:Windows XP    [VBのVer]:VB.NET 2005
 再度お世話になります。
 長文になりましたが VB6.0とVisulStudio2005のプログラムを記載しました。'※1〜'※3の
 質問をさせてもらいましたのでよろしくお願い致します。
 
 VB6.0では正常ですが、VB6.0→VisulStudio2005 アップグレードウィザード後VisulStudio2005
 で下記の状態になります。
 '※1・・・・VB6.0のメッセージボックスMsgBox (Ret) Ret=”1”でよいのですがMicrosoft
 Visual Studio 2005ではRet=”0”になります。
 '※2・・・・Ret の既定プロパティを解決できませんでした。 詳細についてみますがRet についての
 説明が見あたりません。
 '※3・・・・固定長文字列のサイズはバッファに合わせる必要がありますとありましたが既に修正さ
 れていませんでしょうか?<VBFixedString(128),S・・・
 以上につきましてよろしくお願い致します。
 
 '**************
 '   VB6.0
 '**************
 
 'Form1
 
 Private Sub Form_Load()
 
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 'バージョンに関する情報を取得
 '
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '
 Dim osvi As OSVERSIONINFO
 
 osvi.dwOSVersionInfoSize = Len(osvi)
 Ret = Api_GetVersionEx(osvi)
 
 MsgBox (Ret) '※1   RET = 1 正常
 End Sub
 
 
 '標準モジュール
 
 '================================================================
 '=  バージョンに関する情報を取得
 '================================================================
 
 Type OSVERSIONINFO
 dwOSVersionInfoSize As Long
 dwMajorVersion As Long
 dwMinorVersion As Long
 dwBuildNumber As Long
 dwPlatformId As Long
 szCSDVersion As String * 128
 End Type
 
 ' オペレーティングシステムの種類やバージョンに関する情報を取得
 Declare Function Api_GetVersionEx& Lib "kernel32" Alias "GetVersionExA&q
 uot;
 (lpVersionInformation As OSVERSIONINFO)
 
 ↓
 ↓VB6.0→VisulStudio2005 アップグレードウィザード後
 ↓
 'Form1
 '**************
 '   Microsoft Visual Studio 2005
 '**************
 Option Strict Off
 Option Explicit On
 Friend Class Form1
 Inherits System.Windows.Forms.Form
 Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As
 System.EventArgs) Handles MyBase.Load
 Dim Ret As Object
 
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 'バージョンに関する情報を取得
 '
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '
 '
 Dim osvi As OSVERSIONINFO
 
 osvi.dwOSVersionInfoSize = Len(osvi)
 '※2  UPGRADE_WARNING: オブジェクト Ret の既定プロパティを解決できませ
 んでした。 詳細については、'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?
 keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"' をクリックしてください。
 Ret = Api_GetVersionEx(osvi)
 
 MsgBox(Ret)  '※1   RET = 0 になります?
 
 
 
 End Sub
 
 Private Sub Text1_TextChanged(ByVal sender As System.Object, ByVal e As
 System.EventArgs) Handles Text1.TextChanged
 
 End Sub
 End Class
 
 
 '標準モジュール
 
 Option Strict Off
 Option Explicit On
 Module Module1
 
 '標準モジュール
 
 '================================================================
 '=  バージョンに関する情報を取得
 '================================================================
 
 Structure OSVERSIONINFO
 Dim dwOSVersionInfoSize As Integer
 Dim dwMajorVersion As Integer
 Dim dwMinorVersion As Integer
 Dim dwBuildNumber As Integer
 Dim dwPlatformId As Integer
 '※3 UPGRADE_WARNING: 固定長文字列のサイズはバッファに合わせる必要があり
 ます。 詳細については、'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?
 keyword="3C1E4426-0B80-443E-B943-0627CD55D48B"' をクリックしてください。
 <VBFixedString(128),System.Runtime.InteropServices.MarshalAs
 (System.Runtime.InteropServices.UnmanagedType.ByValArray,SizeConst:=128)> Public
 szCSDVersion() As Char
 End Structure
 
 ' オペレーティングシステムの種類やバージョンに関する情報を取得
 'UPGRADE_WARNING: 構造体 OSVERSIONINFO に、この Declare ステートメントの引数として
 マーシャリング属性を渡す必要があります。 詳細については、'ms-
 help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-
 74A1616405DC"' をクリックしてください。
 Declare Function Api_GetVersionEx Lib "kernel32"  Alias "GetVersionEx
 A"(ByRef
 lpVersionInformation As OSVERSIONINFO) As Integer
 
 
 'Form1
 End Module
 
 |