Autor
|
Tema: Referencia a objeto no establecida como instancia de un objeto. Ayuda. (Leído 12,219 veces)
|
70N1
Desconectado
Mensajes: 355
|
Dim res As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Network\" & s & resultado, False)
Dim ase As String For Each ase In res.GetValueNames() <---- aki da el error
MsgBox(ase) Next ase
|
|
|
En línea
|
70N1
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Has revisado el valor de res, seguro que no esta en NULL? Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
70N1
Desconectado
Mensajes: 355
|
Tienes razon... es null. Pero ahora como hago para detectar si es null para seguir con el for?
|
|
|
En línea
|
70N1
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Con algo como ... if(res is nothing) then
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
Aparte de eso puede lanzarte otras Exceptions, como ObjectDisposedException o SecurityException, entonces para esos casos puedes hacer: Try Dim key As String key = "SYSTEM\CurrentControlSet\Control\Network\" & s & resultado Dim res As RegistryKey = Registry.LocalMachine.OpenSubKey(key, False) If(res is nothing) then return New Exception("La clave "& key &" no existe") End If Dim ase As String For Each ase In res.GetValueNames() <---- aki da el error MsgBox(ase) Next ase Catch disposedex As ObjectDisposedException Código en caso de que pase ésto Catch secEx as SecurityException Código en caso de que pase ésto End Try
Perdona si tengo algún error, no me sé muy bien la sintaxis de VB.Net Saludos!
|
|
« Última modificación: 6 Agosto 2010, 19:18 pm por [D4N93R] »
|
En línea
|
|
|
|
70N1
Desconectado
Mensajes: 355
|
Esto es lo que e hecho por ahora. va muy bien. Imports System Imports Microsoft.Win32 Class Reg Public Shared Sub Main() Dim rk As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Network", False) PrintKeys(rk) Console.ReadKey() End Sub Public Shared Sub PrintKeys(ByVal rkey As RegistryKey) Dim names As String() = rkey.GetSubKeyNames() Dim i As Integer = 0 Dim s As String For Each s In names Dim registro As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Network\" & s, False) Dim e For Each e In registro.GetSubKeyNames() 'MsgBox("SYSTEM\CurrentControlSet\Control\Network\" & s & e) Dim res As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Network\" & s & "\" & e, False) Dim ase As String For Each ase In res.GetSubKeyNames() MsgBox("SYSTEM\CurrentControlSet\Control\Network\" & s & "\" & e & "\" & ase) Dim res1 As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Network\" & s & "\" & e & "\" & ase, False) Dim ase1 As String For Each ase1 In res1.GetValueNames() If ase1 = "PnpInstanceID" Then Console.WriteLine(ase1) End If Next ase1 Next ase Next e Next s End Sub End Class
Ahora me falta ver el contenido de esa clave y compararla con la que tengo.
|
|
« Última modificación: 6 Agosto 2010, 22:41 pm por [D4N93R] »
|
En línea
|
70N1
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Ahora me falta ver el contenido de esa clave y compararla con la que tengo.
Hice este cambio en el code: Public Shared Sub PrintKeys(ByVal rkey As RegistryKey) '............ For Each ase In res.GetSubKeyNames() MsgBox("SYSTEM\CurrentControlSet\Control\Network\" & s & "\" & e & "\" & ase) Dim res1 As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Network\" & s & "\" & e & "\" & ase, False) Dim ase1 As String ' Lo puedes guardar en un string para comparar Console.WriteLine(res1.GetValue("PnpInstanceID")) Next ase '... End Sub
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con objeto dentro de otro objeto
PHP
|
Skeletron
|
3
|
6,286
|
5 Enero 2011, 04:10 am
por Skeletron
|
|
|
Referencia a objeto no definida como instancia de un objeto - [C#]
.NET (C#, VB.NET, ASP)
|
ikkaku
|
1
|
3,231
|
11 Febrero 2015, 14:39 pm
por Eleкtro
|
|
|
Referencia de objeto no establecida como instancia de un objeto
.NET (C#, VB.NET, ASP)
|
Fixxed
|
1
|
7,913
|
11 Marzo 2016, 16:18 pm
por Eleкtro
|
|
|
Ayuda para que un metodo me devuelva un objeto
Java
|
rych
|
5
|
3,997
|
2 Mayo 2016, 03:29 am
por + 1 Oculto(s)
|
|
|
ERROR: Referencia a objeto no establecida como instancia de un objeto.
.NET (C#, VB.NET, ASP)
|
Meta
|
8
|
6,997
|
25 Diciembre 2023, 08:17 am
por Meta
|
|