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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2025, 14:59   #11
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 211
По умолчанию

>как через переменную вызвать локальную процедуру?

А у вас какой компилятор?
Для FPC можно так написать:
Код:
{$modeswitch nestedprocvars}
program NestedProc;

procedure A1proc;
    type
        Ptype = procedure is nested;
    var
        P: Ptype;

    procedure P1;
    begin
        writeln('P1 call');
    end;

begin
    P:=Ptype(@P1);
    P();
end;

begin
    A1proc;
end.
А вообще, использование вложенных процедур признано устаревшей техникой программирования. Она появилась в те времена, когда ещё не изобрели модули и классы. Сейчас для программирования процедур в процедурах надо использовать анонимные функции и классы-контейнеры для процедур.
Код:
Procedure aaa;
type
  Ptype=reference to procedure;
var
  p, p1, p2: Ptype;

begin
  p1:=procedure;
  begin
    {код}
  end;

  p2:=procedure;
  begin
    {код}
  end;

  if {условие} then p:=p1 else p:=p2;
  {код}
  p();
end.
DeepFlake вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать переменную в процедуру-реакцию Kronos913 Общие вопросы Delphi 9 16.02.2021 02:49
Описать процедуру Minmax(X, Y), записывает в переменную X минимальное из значений X и Y, а в переменную Y - максимальное kinash96 Помощь студентам 3 12.10.2013 19:49
как передать параметры в процедуру через общую область памяти idShura Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 13.07.2012 20:00
Передать параметр в процедуру VistaSV30 Microsoft Office Access 2 18.12.2009 20:45
Как передать указатель в процедуру??? kate4ka Общие вопросы Delphi 1 17.03.2008 12:49