estra Опубликовано 25 ноября, 2014 Поделиться Опубликовано 25 ноября, 2014 Не получается разобраться как добавить к главной форме приложения UIApplicationDelegate. Написал так: unit Unit2; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, System.Actions, FMX.ActnList, Macapi.ObjectiveC, iOSapi.UIKit, iOSapi.Foundation, iOSapi.CoreGraphics, iOSapi.CocoaTypes, System.Sensors, System.Sensors.Components; type TOnOpenURL = procedure (const URL: NSURL) of object; UIAppDelegate = interface( IObjectiveC ) ['{91C422D1-5D97-4258-B2A8-EF46852364B2}'] function application_handleOpenURL(Sender: UIApplication; handleOpenURL: NSURL): Boolean; cdecl; end; TUIAppDelegate = class( TOCLocal, UIAppDelegate ) strict private FOnOpenURL: TOnOpenURL; public [MethodName('application:handleOpenURL:')] function application_handleOpenURL( Sender: UIApplication; handleOpenURL: NSURL ): Boolean; cdecl; property OnOpenURL: TOnOpenURL read FOnOpenURL write FOnOpenURL; end; TForm2 = class(TForm) Label1: TLabel; procedure FormCreate(Sender: TObject); private UIAppDelegate: TUIAppDelegate; procedure DoOpenURL (const URL: NSURL); public { Public declarations } end; var Form2: TForm2; implementation {$R *.fmx} uses FMX.Helpers.iOS, Macapi.ObjCRuntime; function OpenURL(const AUrl: string): Boolean; var Url: NSURL; begin Url := TNSUrl.Wrap(TNSUrl.OCClass.URLWithString(NSStr(AUrl))); Result := SharedApplication.openUrl(Url); end; procedure TForm2.DoOpenURL(const URL: NSURL); begin Label1.Text := '123'; end; procedure TForm2.FormCreate(Sender: TObject); begin UIAppDelegate := TUIAppDelegate.Create; UIAppDelegate.OnOpenURL := DoOpenURL; end; { TUIAppDelegate } function TUIAppDelegate.application_handleOpenURL(Sender: UIApplication; handleOpenURL: NSURL): Boolean; begin MessageDlg( 'hi', TMsgDlgType.mtInformation, [TMsgDlgBtn.mbOK], 0 ); end; end. Только метод делегата не срабатывает. Подскажите, как заставить делегат работать? Цитата Ссылка на комментарий
Вопрос
estra
Не получается разобраться как добавить к главной форме приложения UIApplicationDelegate. Написал так:
Только метод делегата не срабатывает. Подскажите, как заставить делегат работать?
Ссылка на комментарий
0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.