Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.04 c
14-1096315452
Луарвик
2004-09-28 00:04
2004.10.17
ЧТО ТАКОЕ САБЖ???


6-1091792327
Nata
2004-08-06 15:38
2004.10.17
Служба


4-1095149940
akim2
2004-09-14 12:19
2004.10.17
Параметры запуска сервиса


10-1047967678
Comwad
2003-03-18 09:07
2004.10.17
Обрыв соединения ЛВС для Corba клиентов.


1-1096808711
M-Alex
2004-10-03 17:05
2004.10.17
Почему это не работает?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский