如何在Call Library Function Nodes下使用Adapt To Type?



主要軟體:
主要軟體版本: N/A
主要軟體修正版本: N/A
次要軟體:

問題: 請問在Call Library Function Nodes下輸入參數的Adapt To Type選項意義為何?我又該如何使用呢?

解答: Adapt to Type這個選項允許你將資料型態(例如cluster)輸入DLL之中,Adapt to Type這個選項只能在函數中的輸入參數內使用,而無法使用於傳回值之上(傳回值只能接受string與numeric的資料型態)。要使用Adapt to Type,請依照下列步驟:
  1. 放一個Call Library Function Node物件於您的程式碼中.
  2. 在Call Library Function Node上按右鍵並選擇Configure.
  3. 選擇您要呼叫的dll檔
  4. 選擇Add a Parameter After.
  5. 於此種情況, 選擇Adapt to Type.
  6. 此時,您就可連接cluster的資料型態至您的Call Library Function Node接點之上(如附件之圖示)

當傳送一個複雜的資料型態至C,LabVIEW又一內建特色為自動產生為您這個函數的原型與結構。當您完成連線的動作後,您可以在此物件上按右鍵並選擇Create .c File. 儲存這個檔案,之後您就可在C/C++ IDE 或 Notepad下看到這個.c的檔案.如以下的範例:

/* Call Library Source File */

#include "extcode.h"

/* Typedefs */
typedef struct {
int32 dimSize;
int32 elt[1];
} TD2;
typedef TD2 **TD2Hdl;

typedef struct {
int32 Numeric;
TD2Hdl Array;
int32 Numeric2;
} TD1;

void funcName(TD1 *arg1);

void funcName(TD1 *arg1)
{

/* Insert Code Here */

}

這個程式碼會自動產生合適的資料型態作為您LabVIEW cluster與C/C++ structure的界面。當建立您的DLL檔時,必須要將extcode.h , fundtypes.h, 和 platdefines.h 納入您的C/C++ project中,這些標頭檔會放在C:\Program Files\National Instruments\LabVIEW 6.1\cintools中.接著您就可以依下面的語法連接您在LabVIEW建立之cluster資料型態中的任一個元素:

arg1->Numeric = 5;

必須提您一件事,LabVIEW會將標頭傳至您的DLL檔案中,而標頭的結構是一個指標的指標。

相關連結: Using External Code in LabVIEW - Product Manual

附加檔案:


adapttotype.gif - adapttotype.gif


報告日期: 01/24/2003
最後更新: 05/08/2003
文件偏號: 2TNBMIHM