28-12-24, 03:30 AM
السلام عليكم
اخواني عندي هذا الكود لجلب اسم السرفر للكومبوبوكس
و هو يعمل بشكل ممتاز على جهاز 32 بايت بدون أي خطأ
لكن عندما أنقل الملف لجهاز 64 بايت يظهر لي هذا الخطأ
Object reference not set to an instance of an object
حاولت اغير في المشروع ل 64 و كذلك جربت AnyCpu لكن بدون فائدة و نفس الخطأ يظهر لي
كيف يمكن حل هذي المشكلة بارك الله فيكم
اخواني عندي هذا الكود لجلب اسم السرفر للكومبوبوكس
و هو يعمل بشكل ممتاز على جهاز 32 بايت بدون أي خطأ
لكن عندما أنقل الملف لجهاز 64 بايت يظهر لي هذا الخطأ
Object reference not set to an instance of an object
حاولت اغير في المشروع ل 64 و كذلك جربت AnyCpu لكن بدون فائدة و نفس الخطأ يظهر لي
كود :
Public Sub Load_Servers(ByVal Cmb As ComboBox)
Cmb.Items.Clear()
Try
Dim LocalMachine = Microsoft.Win32.RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, Microsoft.Win32.RegistryView.Registry64)
Dim Rk = LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Microsoft Sql Server")
Dim Instances = CType(Rk.GetValue("installedinstances"), String())
If Instances.Length > 0 Then
For Each Element As String In Instances
If Element = "MSSQLSERVER" Then
Cmb.Items.Add(System.Environment.MachineName)
Else
Cmb.Items.Add(System.Environment.MachineName + "\" + Element)
End If
Next Element
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
End Try
End Subكود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Load_Servers(ComboBox1)
End Sub