zoukankan      html  css  js  c++  java
  • DELPHI XE 加载IOS framework

    1.加载static library *.a文件

    {$O-}

    function XE4_testframe: testframe; cdecl;
    external 'libtestframe.a' name 'OBJC_CLASS_$_testframe';

    2.加载动态库

    procedure XE4_AVFoundation; cdecl;
    external '/System/Library/Frameworks/AVFoundation.framework/AVFoundation';


    procedure XE4_libz; cdecl; external '/usr/lib/libz.dylib';

    {$O+}

    3.需要在deployment中输出相应的.a文件

    4.需要在tool-option 中引入需要的framework 并update

    5.普通接口定义

    testframe = interface(NSObject)
    ['{B02FE219-DEBD-4581-A33E-5F167552BF28}']
    function testfuc(value: integer): integer; cdecl;
    function uv_InitVoiceApp: integer; cdecl;
    function uv_StartVoiceListen: boolean; cdecl;
    function delegate: pointer; cdecl;
    procedure setDelegate(delegate: pointer); cdecl;
    function busy:boolean;cdecl;
    procedure setBusy(v:boolean);cdecl;
    function uv_Speak(text:NSString):boolean;cdecl;
    function IsSpeaking:boolean;cdecl;


    end;

    testframeClass = interface(NSObjectClass)
    ['{1ADAFF51-4474-47A1-8D39-723AC6680D51}']
    end;
    TTestFrame = class( TOCGenericImport<testframeClass, testframe> )
    end;

    6.delegate定义

    IOS_VoiceDelegate = interface(IObjectiveC)
    ['{3A72F24D-9B7B-4E9D-A572-F282147526D2}']
    procedure IOS_OnResult(resulttext: NSString); cdecl;
    procedure IOS_OnVolumnChanged(volumn: integer); cdecl;
    end;

    TIOS_VoiceDelegate = class(TOCLocal, IOS_VoiceDelegate)
    private
    ftestframe: Tdpftestframe;
    public
    constructor Create(frame: Tdpftestframe);
    procedure IOS_OnResult(resulttext: NSString); cdecl;
    procedure IOS_OnVolumnChanged(volumn: integer); cdecl;
    end;

  • 相关阅读:
    javascript 基础知识汇总(一)
    一个高效单表分页查询语句
    Linux的基本操作(一)
    Tomcat服务器配置
    C# — Winform的TextBox控件实现记忆功能
    C# — LINQ To XML示例
    C# — COM组件注册
    C# — LINQ查询的简单使用
    C# — 题库答案汇总
    C# — 题库汇总
  • 原文地址:https://www.cnblogs.com/HuiLove/p/4428676.html
Copyright © 2011-2022 走看看