Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/02/2011, 04:10
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Uso de ParamArray dentro de una clase

Si lo he entendido bien, y despues de darle vueltas y hacer nuevas pruebas, la solucion más simple es la única que se me ocurre que pueda funcionar.

Si siempre va a entrar la misma cantidad de parámetros solo tendrias que crear una linea que los cargue uno a uno:

Código vb:
Ver original
  1. Set SaveRecords = LoadProcedure(Procedure, CommandType, Param(0), Param(1), Param(2))


Sin embargo, si es un paramarray suele ser porque no se sabe cuantos parametros va a recibir, de modo que la unica solucion que se me ocurre y que debe funcionar es hacer la llamada segun la cantidad de parametros que arrastre param():

Código vb:
Ver original
  1. if ubound(param)=0 then
  2.  
  3.   Set SaveRecords = LoadProcedure(Procedure, CommandType, Param(0))
  4.  
  5. elseif ubound(param)=1 then
  6.  
  7.   Set SaveRecords = LoadProcedure(Procedure, CommandType, _
  8. Param(0), Param(1))
  9.  
  10. elseif ubound(param)=2 then
  11.  
  12.   Set SaveRecords = LoadProcedure(Procedure, CommandType, _
  13. Param(0), Param(1), _
  14. Param(2))
  15.  
  16. '...etc
  17. '...etc
  18. '...debes poner hasta un valor alto por si entra un comando con muchos parametros
  19.  
  20. 'p.ej:
  21. elseif ubound(param)=30 then
  22.   Set SaveRecords = LoadProcedure(Procedure, CommandType, _
  23. Param(0), Param(1) _
  24. Param(2), Param(3) _
  25. Param(4), Param(5) _
  26. Param(6), Param(7) _
  27. Param(8), Param(9) _
  28. Param(10), Param(11) _
  29. Param(12), Param(13) _
  30. Param(14), Param(15) _
  31. Param(16), Param(17) _
  32. Param(18), Param(19) _
  33. Param(20), Param(21) _
  34. Param(22), Param(23) _
  35. Param(24), Param(25) _
  36. Param(26), Param(27) _
  37. Param(28), Param(29) _
  38. Param(30))
  39.  
  40. ' y si son demasiados parametros podemos avisar
  41. Else
  42.   MsgBox "Demasiados parámetros en la llamada a LoadProcedure"
  43.  
  44. End If
Yo es que no consigo recibir ni la matriz dentro de otra matriz, porque me da error de tipos diferentes de datos, de modo que no puedo llegar mas lejos que esto. Espero que al menos te saque del paso si no lo habias hecho ya.

Suerte
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!