![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кривая функция и var
Dmitry_mit © (2002-11-20 20:01:00)Скажем есть процедура:
procedure Test(s:WideString;int:integer;var TE:TTestEvent); stdcall; export;
где TTestEvent - некоторая функция:
TTestEvent=procedure(text:WideString) of object; stdcall;
Так вот интересует, что передается в ф-ию Test (последний параметр), т.е. там написано - "var TE:TTestEvent" , что обозначает "var"? т.е. передается указатель на функцию типа TTestEvent?
Если можно, покажите как будет выглядеть эта функция на C++
Fantasist (2002-11-21 02:58:00) [1]
В C++ c Visual Studio расширением:
__declspec(dllexport) void __stdcall Test(wchar_t* s, int vint, TTestEvent*& TE);
> "var TE:TTestEvent" , что обозначает "var"?
Это передача по ссылке. TTestEvent - практически наверняка указатель, поэтому я его так конвертнул.
Poirot (2002-11-20 20:46:00) [2]var тимпа передача по ссылке (аля ByRef ин Барсик, будь он неладен)...
Но тут помоему вар какойто странный... лучше без него, просто передавать указатель на функцию @. А в си я демаю понятно как сделать укаазатель на функцию, вот лучше сделать функцию а не процедуру, пусть вернёт Байт.
Ну вот и всё... весь мой ламерский взгляд!!!