Compartir a través de


Pasar parámetros por referencia

Puede pasar parámetros por referencia siempre o sólo en una instancia determinada.

Para pasar parámetros por referencia

  • Utilice la cláusula TO REFERENCE del comando SET UDFPARMS antes de llamar a la FDU:

    –O bien–

  • Utilice el símbolo @ para pasar una variable o una matriz por referencia, como en el siguiente ejemplo:

    ? "UDF value: " + STR(plusone(@nX))
    
  • Para realizar una referencia adecuada a un tipo de datos Variant en un objeto COM, antes debe crear una instancia de la variable del tipo que desea obtener. Esto solamente se aplica cuando utiliza Visual FoxPro como cliente de enlace en tiempo de compilación.

       DEFINE CLASS varianttest AS SESSION OLEPUBLIC
          FUNCTION varret(outVal AS VARIANT@, inVal AS VARIANT) AS VOID
             OutVal = inVal
          ENDFUNC
       ENDDEFINE
    

    Después de compilar esta clase en una DLL denominada myServer, podrá hacer referencia a los datos de la misma manera que en el siguiente ejemplo de código:

       x = CREATEOBJECT("myServer.varianttest","","")
       ov = ""
       tt.varret(@ov, "string")      && Sets string value
       ov = 0
       tt.varret(@ov, 123)         && Sets ov to an integer value
       ov = 0.0
       tt.varret(@ov, 44.44)      && Sets ov to a real numeric value
       ov = l
       tt.varret(@ov, f)            && Sets ov to a boolean value
    

Vea también

Pasar parámetros por valor | SET UDFPARMS (Comando) | Funciones definidas por el usuario | Manipulación de datos