Возвращаемое значение из функции CAPL в функцию C #

Я вызываю функцию CAPL из функции C #, и ожидается, что на C # я получу значение, возвращаемое функцией CAPL, но оно всегда возвращает то же значение, которое не имеет ничего общего с тем, которое я назначаю внутри функции CAPL. . Есть ли что-то, что мне нужно добавить в свою функцию CAPL, чтобы она могла передать правильное значение функции C #, из которой я вызываю ее? Вот как я вызываю функцию 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);
}

person Betsabé Balades    schedule 19.10.2017    source источник


Ответы (1)


Я не совсем уверен, что вы делаете, но чтобы вызвать функцию CAPL из .NET, вам нужно вызвать функцию напрямую через CaplFunctions.MyCaplFile.MyFunction(param); Остальное зависит от ваших настроек. Если вы используете vTESTstudio, вам просто нужно экспортировать функцию с ключевым словом export. Если вы используете старый набор тестовых функций .NET, вам необходимо сослаться на файл CAPL в тестовом узле. Если вы используете Visual Studio, вам может потребоваться также ссылка на сгенерированную библиотеку типов.

person PiranhA    schedule 17.11.2017