在delphi XE5 里面编译kbmmw4.3

     Delphi XE5 仓促的发布了,虽然开始支持Android 开发了,但是经过试用,发现那个模拟器慢到无法用,

真机可以运行,但是调试也几乎无法用。由于XE5 的主要增加的是Android 的开发支持,对其他的影响应该不大.

kbmmw 现在还不支持Xe5,今天试着把kbmmw 4.3 移植到Xe5 上,基本上比较顺利。

    首先要安装kbmmemtable, 这个只需要把kbmMemRunDXE4Pro.dpk,kbmMemRunDXE4Pro.des,

kbmMemDesDXE4Pro.dpk,kbmMemDesDXE4Pro.res这四个文件复制一下,把文件名的4改成5. 并把两个dpk 

打开,把文本里面的对应的4 也改成5,编译安装就可以了。

   对于kbmmw 稍微麻烦点,先类似kbmmemtable, 做两个kbmMWRunDXE4Ent.dpk,kbmMWDesDXE4Ent.dpk包。

在XE5 里面,inline 函数必须在接口里面声明,kbmmw 里面有很多inline函数并没有在接口中声明,因此,为了保证在XE5

里面能编译,一种方法是在kbmMW.inc 注释这一行:

        {$IFDEF LEVEL11}
              {$DEFINE KBMMW_SUPPORTINLINE}
        {$ENDIF}

    另外一种方法就是把那些没有在接口中声明的inline 函数重新在接口中声明一下,由于这样的函数太多了,我太懒,就用第一种方法了。

让作者自己去修改吧。:)

   经过以上的修改,kbmmw 4.3 就可以完美的运行在XE5下了。你如果还需要kbmmw 支持ios 和android 的话,只能等作者新版了。

  另外,在XE5 里面,firedac 已经被整合进来了,但是所有的源码单元名都改变了,改成了firedac.xxx.xxx.pas。因此原来的kbmmw的

anydac接口用不成了。要么重新加一个firedac 的驱动接口,要么修改原来的文件里面的uses 单元,把老单元名换成对应的firedac 的新单元名。

原文地址:https://www.cnblogs.com/xalion/p/3325775.html