No se puede ensanchar de tipo de destino a tipo primitivo !!

20/10/2005 - 16:33 por Elvio Velasquez | Informe spam
Hola como estan gente sabia del grupo, queria preguntarles por que no puede
encontrar la solucion a este error
Tengo una clase cuyo unos de los metodos recibe un array como parametros

function Ejecutar (byval Paramarray parametros() as object) as object

.
,,,,

end function

Luego para llamar el metodo creo un array y voy cargandolos con valores
dentro de un bucle haciedno redim en cada paso

dim param() as double
dim j as integer = 0

for each pa
redim preserve param(j)
param(j) = valor
j = j+1

next

y luego

clase.ejecutar(param)

pues ahi me da ese error cuando paso el array como parametro me dice lo
siguiente
No se puede ensanchar de tipo de destino a tipo primitivo

??? a que se debe este error, es un tema de como manejo los arrrays ??
Bueno si tienen alguna sugerencia se las agradeceria

Saludos-.
Elvio
 

Leer las respuestas

#1 A.Poblacion
20/10/2005 - 16:39 | Informe spam
"Elvio Velasquez" wrote in message
news:eDc$
Tengo una clase cuyo unos de los metodos recibe un array como parametros

function Ejecutar (byval Paramarray parametros() as object) as object
[...]
dim param() as double
[...]
clase.ejecutar(param)



Tendrías que quitar la palabra Paramarray en la declaración de la
función. Esto se usa para pasarle a la función un número de argumentos
variable. En tu caso, le estás pasando un array, el cual interpreta como
primer elemento del array interno que usa para guardar la lista variable de
parámetros, con lo que la función al final trata un array de object que
contiene un único elemento que es un array de double. Evidentemente, no es
esto lo que quieres. Lo más sencillo es que declares la función simplemente
asi:
function Ejecutar (byval parametros() as double) as object
De esta manera recibe un array de doubles que es lo que le estás pasando.

Preguntas similares