タイトル | : 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
|