LRESULT
La définition de type LRESULT apparaît dans mcadincl.h. MyCFunction est le code qui exécute la fonction personnalisée. Des arguments PTC Mathcad et un pointeur vers une valeur renvoyée sont transmis à cette fonction. Elle place le résultat du calcul dans la valeur renvoyée.
LRESULT MyCFunction(returnValue, argument1,...)
void * const returnValue;
const void * const argument1;
...
Paramètre
Description
returnValue
Pointe vers une structure COMPLEXARRAY, COMPLEXSCALAR ou MCSTRING où le résultat de la fonction doit être stocké.
Si vous implémentez une fonction personnalisée qui renvoie un scalaire, returnValue est un pointeur vers une structure COMPLEXSCALAR, telle qu'implémentée par la construction LPCOMPLEXSCALAR.
argument1
Pointe vers une structure COMPLEXARRAY, COMPLEXSCALAR ou MCSTRING en lecture seule où le premier argument de la fonction est stocké.
Si vous implémentez une fonction personnalisée dont le premier argument est un scalaire, argument1 est un pointeur vers une structure LPCCOMPLEXSCALAR.
...
Si vous implémentez une fonction personnalisée qui a plusieurs arguments, votre MyCFunction comptera des arguments supplémentaires, qui doivent tous être des types définis ci-dessus. Les arguments supplémentaires seront des pointeurs vers les structures en lecture seule où les données de l'argument de la fonction personnalisée correspondante sont stockées.
Paramètres requis
Les tableaux et les scalaires que vous pouvez transmettre et récupérer d'un fichier DLL sont toujours complexes, et les tableaux sont toujours à deux dimensions. Vous pouvez accéder aux composants réels et complexes des valeurs d'entrées scalaires en utilisant les membres ParamName->real et ParamName->imag. En outre, vous pouvez accéder aux composants réels et complexes des tableaux d'entrée en utilisant les membres Array->hReal et Array->hImag. Les tableaux sont indexés par colonne, puis ligne, contrairement à l'ordre des indices dans PTC Mathcad (par ligne, puis colonne). Tous les tableaux sont considérés comme ayant deux dimensions. Pour référencer un vecteur, définissez le premier index de tableau (colonne) sur 0, par exemple :
ArrayName->hReal[0][row], ou
ArrayName->hImag[0][row]
Valeur renvoyée
MyCFunction renvoie 0 pour indiquer un retour sans erreur. Pour indiquer une erreur, MyCFunction renvoie un code d'erreur dans le mot inférieur du LRESULT renvoyé. Il renvoie dans le mot supérieur le numéro de l'argument sous lequel la boîte de message d'erreur doit être placée. Si le mot supérieur est zéro, la boîte de message d'erreur est placée sous la fonction.
Informations supplémentaires
MyCFunction est une marque de réservation pour le nom de fonction fourni par la bibliothèque. Vous pouvez choisir n'importe quel nom pour votre fonction. Vous devez cependant enregistrer l'adresse de votre code exécutable avec PTC Mathcad en définissant le membre lpfnMyCFunction de la structure FUNCTIONINFO.
Est-ce que cela a été utile ?