LRESULT
類型定義 LRESULT 會出現在 mcadincl.h 中。MyCFunction 是執行自訂函數的程式碼。PTC Mathcad 引數及傳回值的指標會傳遞至此函數。此函數會將計算結果置於傳回值。
LRESULT MyCFunction(returnValue, argument1,...)
void * const returnValue;
const void * const argument1;
...
參數
描述
returnValue
指向要儲存函數結果的 COMPLEXARRAYCOMPLEXSCALARMCSTRING 結構。
若實行會傳回純量的自訂函數,returnValue 會是 LPCOMPLEXSCALAR 建構所實行之 COMPLEXSCALAR 結構的指標。
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 註冊可執行檔程式碼的位址。
這是否有幫助?