ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
1132093
Nikolaev_Aleksey (16.09.2021 12:45, просмотров: 1447)
Знатоки Pascal, прошу помощи. Перевожу проект с VS C++(ибо уже за..л) на Delphi 11(правда на нем давно не работал). 

Необходимо в функцию UcanInitHardware передать callback функцию UcanCallbackFktEx.


type
TUcanCallbackFktEx = procedure (UcanHandle_p:byte; dwEvent_p: DWORD ;bChannel_p: BYTE; pArg_p: Tbyteptr) of object;

implementation
procedure UcanCallbackFktEx (UcanHandle_p:byte; dwEvent_p: DWORD ;bChannel_p: BYTE; pArg_p: Tbyteptr); stdcall; external 'USBCAN32.dll';
function UcanInitHardware (pUcanHandle_p :Tbyteptr; bDeviceNr_p:BYTE; pfnEventCallback_p: TUcanCallbackFktEx):Byte; stdcall; external 'USBCAN32.dll';


Вызываю в коде:
val:=UcanInitHardware(m_UcanHandle, bDeviceNr_p, UcanCallbackFktEx);
Ругается на UcanCallbackFktEx.
[dcc32 Error] MainUnit.pas(61): E2009 Incompatible types: 'Calling conventions differ'
Что делаю не так?