Visual Basic - que diferencia

Life is soft - evento anual de software empresarial
 
Vista:

que diferencia

Publicado por Mara (143 intervenciones) el 07/02/2005 23:35:26
cual es la diferencia entre
dim Conexion As ADODB.Connection
dim RsRegistro As ADODB.Recordset
y
Public Conexion As New ADODB.Connection
Public RsRegistro As New ADODB.Recordset

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:que diferencia

Publicado por Benjo (679 intervenciones) el 08/02/2005 01:23:54
dim Conexion As ADODB.Connection
dim RsRegistro As ADODB.Recordset
Crea los objetos Connection y Recordset, pero nos los inicializa.
Para instanciarlos, se debe poner la sentencia
Set Conexion= New ADODB.Connection
En cambio cuando ponés
Dim Conexion As New ADODB.Connection
Se da a entender que no sólo estas creando los objetos sino que los estás instanciando o inicializando
Al fin de cuentas ambas sintaxis hacen lo mismo.
Por una cuestión de convenciones en programación, se ha inculcado durante años, que los objetor deben ser creados e instanciados en sentencias distintas.
Al comienzo de la función o Procedimiento se crea el objeto y una línea antes de ser utilizado, es instanciado.POr lo que se da una idea que entre una declaración y una inicialización, pueden haber decenas de líneas de código.
Quienes tiene años en la programación han dejado de lado esta convención purista y crean los objetos con el modificados New para instanciarlo en el mismo acto. De esa manera sólo se evita código y se declara únicamente cuando en necesario utilizarlo.
Si ves bien los ejemplos de Microsoft, crea todos los objetos al principio (se reserva memoria en la Pila de la aplicación) y los instancia en la mitad del código poniendo en el medio rutinas de manejo de errores, que a la postre ocasionan que el flujo del programa salga de la función sin siquiera instanciar el objeto. La pregunta inevitable es ¿Para que se crearon?.
En fin son cuestiones de programación nunca bien resueltos, pero por convención , usos y costumbre se sigue haciendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar