2014-07-10 1 views

답변

3

메서드를 사용하여 인터페이스를 만들고 IObjectiveC에서 파생시킵니다. 또한 guid를 만드십시오. 나는 아무도 내 사용을 유혹하지 않도록 여기에 게시하지 않을거야.

ISampleDelegate = interface(IObjectiveC) 
    ['{put-your-own-guid-here}'] // <-- Press Ctrl+Shift+G to create your own guid - must be unique for every interface 
    procedure DispatchItem(Sender: Pointer); cdecl; 
    end; 

위임 구현을 만들고 TOCLocal에서 파생됩니다. 델리게이트 인터페이스를 구현해야합니다.

Item.setDelegate(FDelegate); 

무료 대리인 :

Item.setDelegate(nil); 
TNSObject.Wrap((FDelegate as ILocalObject).GetObjectID).release; // don't forget this one! The create constructor calls Alloc in inherited 
FDelegate := nil; 

FDelegate: ISampleDelegate; 

FDelegate := TSampleDelegate.Create(Self); 

이 대리자를 지정 :

TSampleDelegate = class(TOCLocal, ISampleDelegate) 
    private 
    FOwner: TMenuItem; 
    public 
    constructor Create(AOwner: TMenuItem); 
    procedure DispatchItem(Sender: Pointer); cdecl; 
    end; 

constructor TSampleDelegate.Create(AOwner: TMenuItem); 
begin 
    inherited Create; 
    FOwner := AOwner; 
end; 

위임 만들기

관련 문제