Показать сообщение отдельно
  #2  
Старый 16.12.2008, 18:34
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Если идти таким путем, то никак, т.к. имена параметров внутри функции никак не соотвносятся с переменными, переданными извне.
вариант решения - передавать некоторый класс. Тогда можно получить имя класса.

Например:
Код:
type
  TBaseVar = class
     Value : Boolean;
  end;

 Parall = class(TBaseVar) end;
 Ortho = class(TBaseVar) end;
 ...

function SomeFunction(AVar : TBaseVar) : String;
begin
  Result := AVar.ClassName;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  C : TBaseVar;
begin
  C := Parall.Create;
  ShowMessage(SomeFunction(C));
  C.Free;
end;
Ответить с цитированием