Это вопрос реализации c
функция в c++
среда.
Национальные инструменты разработали NIDAQmx.h
заголовочный файл с функциями в c
, Я успешно использовал их функции в c++
класс для управления устройством сбора данных (cDAQ-9174). Но одной из функций, которые они предоставляют, является функция обратного вызова, которая вызывается событием на устройстве.
Вот функция в c
что я хотел бы реализовать в c++
int32 CVICALLBACK DoneCallback(TaskHandle taskHandle, int32 status, void *callbackData){
int32 error=0;
char errBuff[2048]={'\0'};
// Check to see if an error stopped the task.
DAQmxErrChk (status);
Error:
if( DAQmxFailed(error) ) {
DAQmxGetExtendedErrorInfo(errBuff,2048);
DAQmxClearTask(taskHandle);
printf("DAQmx Error: %s\n",errBuff);
}
return 0;
}
Обработчик событий регистрируется на устройстве с помощью функции:
DAQmxRegisterDoneEvent(taskHandle,0,DoneCallback,NULL);
Мой вопрос: Как реализовать функцию-член класса, которая может быть вызвана этим событием? Я представляю функцию или аналогичный способ, но я не знаю достаточно c
а также c++
чтобы понять это.
Было бы важно реализовать эту функцию, чтобы мой класс знал, когда задача сбора завершена, и освободил устройство для использования другим экземпляром.
Задача ещё не решена.
Других решений пока нет …