Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кривая функция и 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 ин Барсик, будь он неладен)...
Но тут помоему вар какойто странный... лучше без него, просто передавать указатель на функцию @. А в си я демаю понятно как сделать укаазатель на функцию, вот лучше сделать функцию а не процедуру, пусть вернёт Байт.
Ну вот и всё... весь мой ламерский взгляд!!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо