Вызов callback-функции в Delphi из C++ DLL

У меня есть C++ DLL, которую я написал, которая имеет одну открытую функцию, которая принимает указатель функции (функция обратного вызова) в качестве параметра.

#define DllExport   extern "C" __declspec( dllexport )

DllExport bool RegisterCallbackGetProperty( bool (*GetProperty)( UINT object_type, UINT object_instnace, UINT property_identifer, UINT device_identifier, float * value ) ) {
    // Do something. 
}

Я хочу иметь возможность вызывать эту открытую функцию C++ DLL из приложения Delphi и регистрировать функцию обратного вызова для использования в будущем. Но я не уверен, как сделать указатель функции в Delphi, который будет работать с открытой функцией C++ DLL.

У меня есть приложение Delphi, вызывающее простые открытые функции C++ DLLиз помощи, которую я получил в этом вопросе.

Я создаю C++ DLL и при необходимости могу изменить ее параметры.

Мои вопросы:

  • Как создать указатель на функцию в Delphi
  • Как правильно вызвать открытую функцию C++ DLL из приложения Delphi, чтобы функция C++ DLL могла использовать указатель на функцию.

5
задан Community 23 May 2017 в 10:29
поделиться