• Viernes 8 de Noviembre de 2024, 20:58

Autor Tema:  Opt. Strict No Permite El Enlace ...  (Leído 2557 veces)

pldelosrios

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Opt. Strict No Permite El Enlace ...
« en: Viernes 4 de Noviembre de 2005, 10:06 »
0
Estoy empezando en VB.NET. Intentaba hacer una rutina para cerrar objetos y me sale el siguiente mensaje:

"Option strict no permite el enlace en tiempo de ejecución"

El código es el siguiente:

    Private Sub CierraObj(ByRef ObjMat() As Object)
        Dim x As Object
        For Each x In ObjMat
            Try
                If Not x Is Nothing Then
                    x.Dispose()                  <--- Aquí da el mensaje
                End If
            Catch
            End Try
        Next
    End Sub

¿POR QUE?. ¿Cómo podría hacer eso?.
Gracias.

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Opt. Strict No Permite El Enlace ...
« Respuesta #1 en: Viernes 4 de Noviembre de 2005, 17:44 »
0
Hola bueno como sabras hay dos tipos de enlace

- early binding
- late binding

early binding, es cuando enlazas directamente
Ej:

Código: Text
  1.  
  2. Dim objAuto as libAuto
  3. 'Aca estas declarando mas no inicializando,
  4. 'pero aun asi estas enlazando directamente y tienes acceso a los miembros
  5. 'de la clase libAuto
  6.  
  7.  

late binding, es cuando enlazas posteriormente a la declaracion
Ej:

Código: Text
  1.  
  2. Dim objAuto as Object
  3. objAuto = New libAuto
  4. 'Aca creaste primero un object
  5. 'luego instanciaste la clase libAuto
  6. 'pero notaras que no tienes el soporte intellisense para los miembros de la clase
  7. 'Esto se debe al tipo de enlace que estas realizando
  8. 'Pero aun asi puedes escribir el metodo o propiedad que requieras de la clase
  9.  
  10.  

Pero en tu caso como estas mandando a un metodo la opcion Strict no permite que se haga el enlace tardio, para evitar posteriores errores de conversion, tu sabes que ese es el objetivo de Option Strict, hacer que nuestro codigo sea mas serio y sin ambiguedades. Ejemplo como viste en el segundo caso que te indique no te dara errores en tiempo de diseño pero debes procurar de escribir bien las llamadas a los miembros de la clase, caso contrario te dara error pero en tiempo de ejecucion.

Salu2
 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax