2017-10-19 183 views
0

私はC#関数からCAPL関数を呼び出していますが、CAPL関数が返す値をC#で取得する予定ですが、何もしない同じ値を常に返します1つはCAPL関数の中に割り当てます。 CAPL関数に追加する必要があるものはありますか?C#関数に正しい値を渡すことができますか? これは私がC#のからCAPL関数を呼び出し、変数に戻り値を代入しています方法です:CAPL関数からC#関数への戻り値

int var = (int)this.SendRawDiagnosticF.Call(id, bytestosend[0], bytestosend[1], bytestosend[2], bytestosend[3], bytestosend[4], bytestosend[5], bytestosend[6], bytestosend[7]); 

これはCAPL関数は見た目です:

int ReturnRXIDMessage(long ID, long DLC, long a, long b, long c, long d, long e, long f, long g, long h) 
{ 
    long o = 0; 
    if (messageID == ID + 0x40) 
    { 
    o = messageID; 
    } 
    return (o); 
} 

答えて

0

私は正確ではありませんよあなたがやっていることを確かめるが、.NETからCAPL関数を呼び出すには、CaplFunctions.MyCaplFile.MyFunction(param); 経由で関数を直接呼び出す必要があります。残りは設定によって異なります。 vTESTstudioを使用している場合は、exportキーワードを使用して関数をエクスポートするだけです。 古い.NETテストフィーチャセットを使用している場合は、テストノードでCAPLファイルを参照する必要があります。 Visual Studioを使用している場合は、生成されたタイプライブラリも参照する必要があります。