1. 开发环境说明:win 10 下安装了XE10.2和Delphi7
2.按照网上datasnap 三层与使用xe10 自带的samples 的例子,访问数据库都要报莫名的地址错误,这个太不人性化:
Access violation at address 0088C4F7 in module 'DataSnapClient.exe'. Read of address 00000000
折腾了一星期多。怀疑过win10权限,怀疑过所有的dbexpress和FireDac驱动问题,因为我win10安装了sql 2000与sql2008,也怀疑过是不是某个相关组件属性未设置好,都排查了很久,我竟然怀疑起XE10自己安装的版本有问题,在网上找相关问题很多次,偶尔一次我看到了有网友,说自己开发的三层运行本机都没问题,可是发布到有Delphi7的同事电脑上有问题,下面网友对其的解答过程中,看到了midas.dll版本问题,进而我想到了我的电脑上是两个版本。那么midas.dll也存在两个版本,而且,我是先安装的xe10,后安装delphi7的,会不会后安装的delphi7注册的midas.dll版本。通过上网找资料,有网友的方法我采用,马上我的三层Tclientdataset访问datasnap访问正常了。
方法如下:
http://bbs.csdn.net/topics/390873526
就是客户端中加入单元Midaslib,就完全正确了,终于对xe10又了信心!网上完整的教程的太少,而且提醒也不人性化。