Pregunta:

23/07/2003 - 17:46 por Scott | Informe spam
Hola grupo:
tengo una consulta he leido un en articulo que se debe evitar a toda costa
el uso de variables de tipo variant ya que consumen mas recursos y hacen mas
lentos los procesos y bueno yo lamentablemete en mi aplicacion utilizo este
tipo de variable lo que pasa es que yo hago lo siguiente:
creo una clase:

en (general) declaraciones de mi modulo clase
Public DeVaProv As Variant
****************
y en modulo en general declaraciones
Public ManDaProv As Variant
***************
Public Sub Cls_Proveedor()
Dim Dlg_Proveedor As New FrmProveedor2
Load Dlg_Proveedor
With Dlg_Proveedor
.Texto1(0).Text = ManDaProv(1)
.Texto1(1).Text = ManDaProv(2)
.Texto1(2).Text = ManDaProv(3)
.Texto1(3).Text = ManDaProv(4)
.Texto1(4).Text = ManDaProv(5)
.Texto1(5).Text = ManDaProv(6)
.Texto1(6).Text = ManDaProv(7)
.Texto1(7).Text = ManDaProv(8)
.Caption = ManDaProv(9)
.Show vbModal **ejecuta un formulario modalcon los text vacios
Acept = .Acept
If Acept Then ** if si llena todos los text estos datos se
devuelven
DeVaProv = Array(.Texto1(0).Text, .Texto1(1).Text,
.Texto1(2).Text, .Texto1(3).Text, .Texto1(4).Text, .Texto1(5).Text,
.Texto1(6).Text, .Texto1(7).Text)
End If
End With
Unload Dlg_Proveedor
End Sub
****************************
codigo del boton nuevode formulario:
Dim CodP As String
Dim ObjProv As New Class_Angel

ManDaProv = Array("", "", "", "", "", "", "", "", "", "Nuevo Proveedor")
With ObjProv
.Cls_Proveedor
If .Acept Then
CodP = "P" & Codigo("Select * From Proveedor", 3, "0")
SenProv = "Insert Into
Proveedor(PrvCod,PrvRaz,PrvDir,PrvPais,PrvCiu,PrvTelf,PrvCto1,PrvCto2,PrvTel
f1) Values('" & _
CodP & "','" & .DeVaProv(0) & "','" & .DeVaProv(1) &
"','" & .DeVaProv(2) & "','" & .DeVaProv(3) & "','" &
.DeVaProv(4) & "','" & .DeVaProv(5) & "','" & .DeVaProv(6) & "','" &
.DeVaProv(7) & "'
End With
 

Leer las respuestas

#1 Softjaen
23/07/2003 - 18:06 | Informe spam
"Scott" escribió:

he leido un en articulo que se debe evitar a toda costa el
uso de variables de tipo variant ya que consumen
mas recursos y hacen mas lentos los procesos



Hola, Scott:

El autor de ese artículo tiene muchísima razón: hay que evitar a toda costa
declarar variables tipo «Variant». De hecho, en VB .NET, el tipo de dato
«Variant» ha pasado a mejor vida:

VB6 --> Dim myVar As Variant
VB.NET --> Dim myVar As Object

yo lamentablemete en mi aplicacion utilizo este
tipo de variable lo que pasa es que yo hago lo siguiente:
creo una clase:

en (general) declaraciones de mi modulo clase
Public DeVaProv As Variant
****************
y en modulo en general declaraciones
Public ManDaProv As Variant
***************



Viendo el código fuente que has publicado, en ese caso no tienes más remedio
que declarar las dos variables como «Variant», ya que ambas variables
guardan una matriz devuelta por la función «Array»:

ManDaProv = Array("", "", "", "", "", "", "Nuevo Proveedor")

DeVaProv = Array(.Texto1(0).Text, .Texto1(1).Text, ...)

Un saludo.

Enrique Martínez
[MS MVP - VB]

Preguntas similares