Visual FoxPro tiene un límite de 27 parámetros en el uso de funciones, a continuación una manera de darle vuelta a este pequeño problema... Las funciones y procedimientos de VFP tienen este límite de 27 parámetros, no hay forma de agregar más, pero si usas objetos este límite puede ser sobrepasado fácilmente:
oMyParam = CREATEOBJECT("Empty") AddProperty(oMyParam,"cClave","1") AddProperty(oMyParam,"nID",2) AddProperty(oMyParam,"dFecha",DATE()) AddProperty(oMyParam,"yMonto",$100) nMyResult = MyFuntion(oMyParam) FUNCTION myFunction LPARAMETERS toMyParam lcClave = toMyParam.cClave lnID = toMyParam.nID ldFecha = toMyParam.dFecha lyMonto = toMyParam.yMonto ...... ...... ENDFUNC
Esto también aplica para métodos dentro de un formulario o clase. En el ejemplo he utilizado la clase EMPTY (disponible en VFP8 y posteriores), pero puede sustituirse por cualquiera, se recomienda usar alguna "ligera" y sin interface (Forms, Grids, Pageframe, etc) como puede ser la clase Custom.
También está disponible el utilizar un arreglo, pero no lo recomiendo mucho, esas técnicas son muy anticuadas, tienen sus limitantes (capacidad del array) y molestias (como tener que declarar dicha variable como EXTERNAL).
Espero que les sea de utilidad.
Espartaco Palma Martínez
Muy buen aporte, no lo sabia, muchas, gracias.
ResponderBorrar