Здравствуйте, Sergei, Вы писали:
S>Здравствуйте, Dmitry_mit, Вы писали:
DM>>Скажем есть процедура:
DM>>procedure Test(s:WideString;int:integer;var TE:TTestEvent); stdcall; export;
DM>>где TTestEvent — некоторая функция:
DM>>TTestEvent=procedure(text:WideString) of object; stdcall;
DM>>Так вот интересует, что передается в ф-ию Test (последний параметр), т.е. там написано — "var TE:TTestEvent" , что обозначает "var"? т.е. передается указатель на функцию типа TTestEvent?
S>Передаётся ссылка на функцию.
DM>>Если можно, покажите как будет выглядеть эта функция на C++
S>S>typedef void __fastcall (__closure *TTestEvent)(WideString text);
S>extern "C" __declspec(dllexport) void _stdcall Test(WideString s,TTestEvent& TE)
S>{
S>}
S>
А зачем в описании TTestEvent стоит __closure?