LRESULT
类型定义 LRESULT 显示在 mcadincl.h 中。MyCFunction 是执行自定义函数的代码。将 PTC Mathcad 自变量和指向返回值的指针传递给此函数。它将计算结果放到返回值中。
LRESULT MyCFunction(returnValue, argument1,...)
void * const returnValue;
const void * const argument1;
...
参数
说明
returnValue
指向要存储函数结果的 COMPLEXARRAYCOMPLEXSCALARMCSTRING 结构。
如果正在执行一个返回标量的自定义函数,则 returnValue 是指向 COMPLEXSCALAR 结构的指针,由 LPCOMPLEXSCALAR 结构来实现。
argument1
指向用于存储第一个函数自变量的只读 COMPLEXARRAYCOMPLEXSCALARMCSTRING 结构。
如果正在执行一个自定义函数 (具有作为该函数的第一个自变量的标量),则 argument1 是指向 LPCCOMPLEXSCALAR 结构的指针。
...
如果正在执行一个具有多个自变量的自定义函数,MyCFunction 将会有附加自变量,且每个附加自变量都必须为以上定义类型中的一种。这些附加自变量将是指向用于存储相应自定义函数数据的只读结构的指针。
参数要求
在 DLL 文件中传入和传出的数组和标量始终为复数,并且数组始终为二维数组。使用 ParamName->realParamName->imag 成员可以访问任何标量输入值的实数和复数部分。同样地,使用 Array->hRealArray->hImag 成员可以访问任何输入数组的实数和复数部分。与 PTC Mathcad 内部索引顺序相反 (先行后列),按照先列后行的顺序将数组编入索引。假设所有数组都是二维数组。要引用一个矢量,则需将第一个数组索引 (列) 设置为 0,例如:
ArrayName->hReal[0][row],或者
ArrayName->hImag[0][row]
返回值
MyCFunction 返回 0 以表明无错误返回。要表明错误,MyCFunction 将返回错误代码,该代码位于返回的 LRESULT 低位字以及自变量编号高位字 (错误框应置于其下) 中。如果高位字为零,则错误消息框将位于函数本身的下方。
附加信息
MyCFunction 为库提供的函数名称的占位符。可以为函数选取任何名称,但是您必须通过设置 FUNCTIONINFO 结构的 lpfnMyCFunction 成员向 PTC Mathcad 注册可执行代码的地址。
这对您有帮助吗?