내가 원하는 것은 익명 메서드를 함수 결과로 동일한 형식의 변수에 할당하는 것입니다. 델파이는 배정을 할 수 없다고 불평합니다. 분명히 그 같은 기능의 결과 대신 "GetListener"함수를 할당하려는 델파이 것들. 이것에 대한 도움은 매우 감사합니다. 의 대신익명 메서드를 함수 결과로 사용합니다.
이procedure GetListener(var a: TPropertyChangedListener);
함수의 결과를 고려하도록 컴파일러에 강제로 어떤 구문이있을 수 있습니다 :
type
TPropertyChangedListener = reference to procedure (Sender: TStimulus);
TMyClass = class
function GetListener:TPropertyChangedListener
end;
....
var MyClass: TMyClass;
Listener: TPropertyChangedListener;
begin
MyClass:= TMyClass.create;
Listener:= MyClass.GetListener; // Delphi compile error: E2010 Incompatible types: TPropertyChangedListener' and 'Procedure of object'
end;
Thanks Serg. 내가 찾던 바로이 두 가지()였습니다. 당신이 그들을 아는 한 일들은 너무 쉽습니다. – iamjoosy
+1하지만 지금은 머리가 아프다. –
그래서 나는 항상 C의 호출 문법 (aka() 괄호)를 사용하여 호출 할 때이를 명확하게한다. – alex