Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Возврат результата из вложенной функции


XCoder ©   (2014-02-06 15:26:00) 

Есть функция DoSomething, которая включает в себя 2 функции - InternalDoSomethingA и InternalDoSomethingAA. Как КОРРЕКТНО возвратить результат DoSomething из вложенной функции InternalDoSomethingAA:


function DoSomething: Boolean;

 procedure InternalDoSomethingA;

   procedure InternalDoSomethingAA;
   begin
     Result := True;
   end;

 begin

 end;

begin

end;


icWasya   (2014-02-06 17:28:00) [1]

А вот ещё
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1390751141&n=3


XCoder   (2014-02-06 15:47:00) [2]


> DVM ©   (06.02.14 15:31) [6]
> Это что ли надо?


Да, раньше не приходилось так возвращать результат, вот и усомнился.


DVM   (2014-02-06 15:31:00) [3]

Это что ли надо?

function DoSomething: Boolean;

procedure InternalDoSomethingA;

  procedure InternalDoSomethingAA;
  begin
    DoSomething:= True;
  end;

begin

end;

begin

end;


Rouse_   (2014-02-06 15:30:00) [4]

Ну и вариант 2:

function DoSomething: Boolean;

 function InternalDoSomethingA: Boolean;

   function InternalDoSomethingAA: Boolean;
   begin
     Result := True;
   end;

 begin
   Result := InternalDoSomethingAA
 end;

begin
 Result := InternalDoSomethingA;
end;


XCoder   (2014-02-06 15:30:00) [5]


> Rouse_ ©   (06.02.14 15:28) [1]


Спасиб


XCoder   (2014-02-06 15:29:00) [6]

или лучше так:


function DoSomething: Boolean;
var
 Res: Boolean;

 procedure InternalDoSomethingA;

   procedure InternalDoSomethingAA;
   begin
     Res := True;
   end;

 begin

 end;

begin
 Result := Res;
end;


изыди   (2014-02-06 15:29:00) [7]

function DoSomething: Boolean;

function InternalDoSomethingA: Boolean;

  function InternalDoSomethingAA: Boolean;
  begin
    Result := True;
  end;

begin
 Result := InternalDoSomethingAA;
end;

begin
 Result := InternalDoSomethingA;
end;


Rouse_   (2014-02-06 15:28:00) [8]

function DoSomething: Boolean;

procedure InternalDoSomethingA;

  procedure InternalDoSomethingAA;
  begin
    DoSomething := False;
  end;

begin
  InternalDoSomethingAA
end;

begin
 InternalDoSomethingA;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо