Funciones personalizadas > Definiciones de funciones > LRESULT
  
LRESULT
La definición de tipo LRESULT aparece en mcadincl.h. MyCFunction es el código que ejecuta la función personalizada. Los argumentos de PTC Mathcad y un puntero a un valor de retorno se pasan a esta función. Coloca el resultado del cálculo en el valor de retorno.
LRESULT MyCFunction(returnValue, argument1,...)
void * const returnValue;
const void * const argument1;
...
Parámetro
Descripción
returnValue
Apunta a la estructura COMPLEXARRAY, COMPLEXSCALAR o MCSTRING donde se almacenará el resultado de la función.
Si está implementando una función personalizada que devuelve un escalar, returnValue es un puntero a una estructura COMPLEXSCALAR, tal y como la ha implementado la creación LPCOMPLEXSCALAR.
argument1
Apunta a la estructura COMPLEXARRAY, COMPLEXSCALAR o MCSTRING de solo lectura donde se almacena el argumento de la primera función.
Si está implementando una función personalizada que tiene un escalar como su primer argumento, argument1 es un puntero a una estructura LPCCOMPLEXSCALAR.
...
Si está implementando una función personalizada con más de un argumento, su MyCFunction tendrá argumentos adicionales, cada uno de los cuales deberá ser de uno de los tipos definidos anteriormente. Los argumentos adicionales serán punteros a las estructuras de solo lectura donde se almacenarán los datos del argumento de la función personalizada correspondiente.
Requisitos de los parámetros
Los arrays y escalares que se pueden transferir a y de un fichero DLL son siempre complejos, y los arrays son siempre bidimensionales. Para acceder a las partes real y compleja de cualquier valor de entrada escalar, utilice los miembros ParamName->real y ParamName->imag. De manera similar, para acceder a las partes real y compleja de cualquier array de entrada, utilice los miembros Array->hReal y Array->hImag. Los arrays se indexan por columna y, a continuación, por fila, en lugar de seguir el orden de los índices de PTC Mathcad (por fila y, a continuación, por columna). Se supone que todos los arrays tienen dos dimensiones. Para hacer referencia a un vector, el primer índice de array (columna) se define en 0, por ejemplo:
ArrayName->hReal[0][row] o
ArrayName->hImag[0][row]
Valor de retorno
MyCFunction devuelve 0 para indicar un retorno sin errores. Para indicar un error MyCFunction devuelve un código de error en los bytes menos significativos del valor LRESULT devuelto y, en los bytes más significativos, el número del argumento en el que debe colocarse el cuadro de error. Si los bytes más significativos son cero, el cuadro del mensaje de error se coloca encima de la función.
Información adicional
MyCFunction es un marcador para el nombre de la función proporcionada por la biblioteca. Se puede elegir cualquier nombre para la función, pero es necesario registrar la dirección del código ejecutable en PTC Mathcad mediante la configuración del miembro lpfnMyCFunction de la estructura FUNCTIONINFO.