Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
4-1095219660
Настенька
2004-09-15 07:41
2004.10.17
кнопка Пуск


3-1095821078
ProgC
2004-09-22 06:44
2004.10.17
При закрытии приложения появляется двойная запись в БД


1-1096533182
Erik1
2004-09-30 12:33
2004.10.17
Как убрать фокус с контрола и перевести на форму?


3-1095835304
Pashkerton
2004-09-22 10:41
2004.10.17
Real time изменение записей!


11-1081438953
Delphi5.01
2004-04-08 19:42
2004.10.17
Mojet oshibka? Result:=PCheckMesh(NewPanel(AParent, EdgeStyle));




   Наверх