Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

Функции   Найти похожие ветки 

 
AntonSh   (2004-10-01 17:26) [0]

У меня есть функция и процедура. Подскажите как мне в функцию передать в качестве параметра процедуру. Спасибо.


 
Sandman25 ©   (2004-10-01 17:30) [1]

type
 TFunctionParam = function(StringParam: String): Integer;
...
function Func1(AString: String): Integer;
...
procedure MyProc(FunctionParam: TFunctionParam);
...
MyProc(Func1);


 
МЯУ   (2004-10-01 17:36) [2]

Sandman25 ©   (01.10.04 17:30) [1]
набарот, процедуру в функцию, а не функцию в процедуру :)

type
 tprocedure = procedure(...);
var
 function fcn(prc: tprocedure): ...;


 
Sandman25 ©   (2004-10-01 17:37) [3]

[2] МЯУ   (01.10.04 17:36)

Согласен. Невнимательно прочитал.


 
AntonSh   (2004-10-01 17:41) [4]

Спасибо всё работает.


 
Zeon   (2004-10-02 01:50) [5]

Только когда будеш вызывать свою функцию, поставь перед именем процедуры(параметра) знак @ Тогда перед её вызовом в стек будет заноситься только адрес этой процедуры, а не вся процедура целиком. А это очень значительное экономие времени работы плюс дополнительная защита от переполнения стека.
fcn(@prc);


 
GuAV ©   (2004-10-02 02:31) [6]

Zeon   (02.10.04 01:50) [5]

> Тогда перед её вызовом в стек будет заноситься только адрес
> этой процедуры, а не вся процедура целиком. А это очень
> значительное экономие времени работы плюс дополнительная
> защита от переполнения стека.

Чушь.


 
Defunct ©   (2004-10-02 02:36) [7]

GuAV ©   (02.10.04 02:31) [6]
ага



Страницы: 1 вся ветка

Текущий архив: 2004.10.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
1-1096825695
RedDragon
2004-10-03 21:48
2004.10.17
Как мне присвоить текст сделанной строки...


14-1096269415
Бар
2004-09-27 11:16
2004.10.17
Уважаемые знатоки! Какой инсталлятор


4-1095238008
Виктор
2004-09-15 12:46
2004.10.17
Остаются иконки на панели задач


3-1095829971
RavenD
2004-09-22 09:12
2004.10.17
Почему двойной Last?


1-1096441900
Михалыч
2004-09-29 11:11
2004.10.17
Как сохранить в одном файле