Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2012, 21:03   #1
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
Вопрос var p:procedure

Привет всем с новым годом!собственно вопрос:
Возможно ли записать процедуру как переменную
например
Код:
procedure a(s:string);
begin
showmessage(s);
end;

procedure b(p:procedure);
begin
b('sms');
end;

procedure exute;
begin
b(a);
end;
реально ли сделать что то такое ?
Кольша вне форума Ответить с цитированием
Старый 04.01.2012, 21:06   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
реально ли сделать что то такое ?
http://delphiworld.narod.ru/base/fun...ike_param.html
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 04.01.2012, 21:08   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

возможно, но в вашем случае нужно указывать тип процедуры.
Код:
type
  myproc=procedure(a:string);

procedure a(s:string);
begin
showmessage(s);
end;

procedure b(p:myproc);
begin
b('sms');
end;

procedure exute;
begin
b(a);
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.01.2012, 21:32   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

[Error] main.pas(289): Incompatible types: 'regular procedure and method pointer'
Кольша вне форума Ответить с цитированием
Старый 04.01.2012, 21:36   #5
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

ВСЕ ИСПРАВИЛ СОЗДАЛ ПРОЦЕДУРУ НЕ ПРИНАДЛЕЖАЩУЮ ФОРМЕ
Кольша вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обьявление переменной в var AlexDn Общие вопросы Delphi 25 23.08.2011 16:42
var r_array Eldrich JavaScript, Ajax 0 24.02.2011 10:30
Процедура и Var<...>:String ImmortalAlexSan Общие вопросы Delphi 2 17.11.2010 20:43
Var Черничный Общие вопросы Delphi 4 17.07.2008 00:44
var Черничный Общие вопросы Delphi 9 25.06.2008 17:10