0

我正在从 C# 函数调用 CAPL 函数,我希望在 C# 中获取 CAPL 函数返回的值,但它总是返回与我在 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);
}
4

1 回答 1

0

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

于 2017-11-17T09:34:25.227 回答