从CAPL函数返回值到C#函数

时间:2017-10-19 19:55:30

标签: c# capl canoe

我从C#函数调用CAPL函数,并且我希望在C#中获取CAPL函数返回的值,但它总是返回与I&I无关的相同值。 #39; m在CAPL函数内部分配。 我需要在我的CAPL函数中添加一些内容,以便它可以将正确的值传递给我调用它的C#函数吗? 这就是我从C#调用CAPL函数并将返回值赋给变量的方法:

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);
}

1 个答案:

答案 0 :(得分:0)

我不确定你在做什么,但是要从.NET调用CAPL函数,你需要通过CaplFunctions.MyCaplFile.MyFunction(param);直接调用函数 其余的取决于您的设置。如果您使用的是vTESTstudio,则只需使用export关键字导出该函数。 如果您使用的是旧的.NET测试功能集,则需要在测试节点中引用CAPL文件。如果您使用的是Visual Studio,则可能还需要引用生成的类型库。