Error "9" en tiempo de ejecucion

14/11/2004 - 14:40 por MaToCu | Informe spam
Hola a todos, cada vez que inicio el ordenador me sale un menu que dice:
Error "9" en tiempo de ejecucion: El subindice esta fuera del intervalo.
ACEPTAR
¿Sabe alguno de vosotros que significa o donde puedo encontrar informacion
para arreglarlo?
Espero vuestra contestacion.
Gracias
Maria
 

Leer las respuestas

#1 𺰘¨Jessica Fisherman¨˜°ºð
14/11/2004 - 14:49 | Informe spam
Hi,
Mirando en mi base de datos, me aparece este link, suerte :-)

http://msdn.microsoft.com/library/s...es_a_z.asp


El cierre de un formulario llama a Dispose
[Closing a Form Calls Dispose]

En Visual Basic 6.0, era posible descargar un formulario y cargarlo de nuevo más tarde mediante una llamada al método Show. En Visual Basic .NET, el método Close para un formulario llama al método Dispose, así que los elementos no utilizados se recolectan automáticamente. Esto puede provocar sutiles diferencias de comportamiento que pueden resultar difíciles de detectar.

a.. En Visual Basic .NET, si llama al método Show para un formulario descargado, obtendrá una nueva instancia del formulario; las modificaciones de las configuraciones de las propiedades de la clase base se perderán.
b.. En el caso de los formularios que se muestran modalmente, no se llama automáticamente a Dispose. En algunos casos, es posible que desee llamar a Dispose para hacer limpieza en los recursos.
Las llamadas de enlace en tiempo de ejecución a objetos COM pueden provocar errores de falta de coincidencia de tipos
[Late-bound Calls to COM Objects May Cause Type Mismatch Errors]

En Visual Basic 6.0, cuando se pasaba un objeto COM de enlace en tiempo de ejecución como parámetro para una llamada de enlace en tiempo de ejecución, el objeto se convertía en Variant de tipo Nothing. Cuando se actualizan a Visual Basic .NET, los objetos COM declarados de tipo Object se tratan igual que Variants (que siempre se convierten al tipo Object durante la actualización); las referencias de estos objetos se calculan para el tipo variant Empty. Esto provoca un error de falta de coincidencia de tipos en Visual Basic .NET.

Para solucionar este problema, asegúrese de que todos los objetos se enlazan en tiempo de compilación.

Los valores devueltos por Err.Number pueden ser diferentes
[Values Returned by Err.Number May Be Different]

En algunos casos, los errores devueltos por Visual Basic .NET pueden ser diferentes a los devueltos por Visual Basic 6.0. En el caso del código de control de errores basado en los valores devueltos por Err.Number, esto podría causar un comportamiento diferente en la aplicación.

El código siguiente muestra un ejemplo:

' Visual Basic 6.0
On Local Error GoTo Result
Dim x() As Boolean
Dim y As Variant

y = x(10)

Result:
If Err.Number = 9 Then
' Do something.
Else
' Do something else.
End IfAntes de la actualización, Err.Number siempre devolverá 9 (El subíndice está fuera del intervalo) y ejecutará la primera parte de la instrucción If. Después de la actualización, devolverá 91 (Variable de objeto o de bloque With no establecida) y ejecutará la cláusula Else. Esto se debe a que, en Visual Basic .NET, una matriz debe inicializarse para que se pueda hacer referencia a ella; en Visual Basic 6.0, las matrices se inicializaban al declararse.

Si depende de los valores devueltos desde Err.Number en el código, es recomendable que compruebe cuidadosamente los resultados y modifique el código según sea necesario.

Es necesario llamar explícitamente a Dispose para un DataEnvironment
[Dispose Must Be Explicitly Called for a DataEnvironment]

En Visual Basic 6.0, cuando se cerraba un DataEnvironment se cerraban todos los recordsets y las conexiones. Cuando se actualiza a Visual Basic .NET, el DataEnvironment se convierte en un miembro Public de la clase DataEnvironment; los recordsets y las conexiones no se cierran automáticamente.

Deberá agregar código que cierre explícitamente los recordsets y las conexiones mediante una llamada al método DataEnvironment.Dispose. En las aplicaciones de formularios Windows Forms, puede llamar al método Dispose desde el método Dispose del formulario de inicio. Para las bibliotecas de clases, deberá implementar un método Dispose en la biblioteca de clases y, a continuación, hacer que la aplicación cliente llame a Dispose antes de liberar su referencia a la clase.



Saludos

JessFi

jessfi at msn dot com

Preguntas similares