DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: pixelcraft
今日帖子: 54
在线用户: 20
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 changfenglee (葫芦老四) ▲▲▲▲▲ -
普通会员
2022/10/9 14:33:02
标题:
安卓APP报Midas错误求救 浏览:1354
加入我的收藏
楼主: 我在DELPHI上写的APP,之前在安卓模拟器上运行一直都没什么问题,转到真机上运行后报错,图片如下,请问这是啥原因呢?

我使用的是DataSnap,服务端是VCL模式,每个单元都有引用MidasLib单元
此帖子包含附件:
PNG 图像
大小:146.8K
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
作者:
男 changfenglee (葫芦老四) ▲▲▲▲▲ -
普通会员
2022/10/9 14:35:08
1楼: 同样的程序在安卓模拟器上运行,什么毛病都没有
此帖子包含附件:
PNG 图像
大小:93.9K
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2022/10/9 14:39:22
2楼: 模拟器是x86
还是arm?

然后手机又分
32 ,64 。。。
补充
ndk
sdk
手机 system ver 
如果是老工程 新ide 编译 是否考虑下 
用新ide重建工程文件

不知道这一句是否适合你在用的这个ide 呢?
(3)Windows下使用TClientDataSet需要用到Midas.dll,在Android下这个问题不存在了,也不需要单独部署Midas支持的相关文件,但是看材料iOS下好像还要部署,没试过

苹果部署
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Mobile_Tutorial:_Connecting_to_an_Enterprise_Database_from_a_Mobile_Client_(iOS_and_Android)

似乎和 23楼 问题相同
http://bbs.2ccc.com/topic.asp?topicid=587495  
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 changfenglee (葫芦老四) ▲▲▲▲▲ -
普通会员
2022/10/9 14:41:35
3楼: 用得雷电模拟器9.0版本的,也不知道属于哪一种
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2022/10/9 15:01:47
4楼: https://github.com/iij10211/ServerDW/blob/master/Win32/Debug/ServidorDW.drc
  Datasnap_MidConst_SUnableToLoadICU,  L"Unable to load Midas due to missing code page conversion library."

海外:
https://www.delphican.com/showthread.php?tid=6437&pid=47345#pid47345

所以 可能是ICU 出问题了?。大概吧。(我记得安卓好像带这玩意来着) 
有码吗?没有就。等官方吧。

国际化组件 Unicode (ICU) 函数库
https://www.cnblogs.com/shanyou/p/13621728.html
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 changfenglee (葫芦老四) ▲▲▲▲▲ -
普通会员
2022/10/9 15:04:39
5楼: 目前是只要用了ClientDataSet就会出这个问题,代码什么无所谓,只要使用就会报
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2022/10/9 15:07:31
6楼: 当然会出问题 转码用的ICU 。win传来的unicode 转成系统或者可显示的默认编码

(逼硬翻译)由于缺少代码页转换库,无法加载 Midas。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 changfenglee (葫芦老四) ▲▲▲▲▲ -
普通会员
2022/10/9 15:15:24
7楼: 有好的解决方案吗
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
作者:
男 changfenglee (葫芦老四) ▲▲▲▲▲ -
普通会员
2022/10/9 15:42:24
8楼: APP是全新编写的,编写环境XE10.4,SDK Android29,编译为Android 32 位

因为对安卓不太熟悉,看看各位高手有没有好点子,帮帮找找问题
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2022/10/9 16:11:11
9楼: 建议看下我二楼贴的站内连接
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 changfenglee (葫芦老四) ▲▲▲▲▲ -
普通会员
2022/10/9 16:18:52
10楼: 你是说关于ANDROID 11闪退的帖子吗,这些我检查过文件了,没有问题
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/10/9 19:09:18
11楼: 楼主,你的问题,根本不存在。建议你自己做一个简单的测试程序试试。如果你确定不是 Midas 的问题,就可以从其它方面去查问题了。

我刚刚做了一个测试,确定 Midas 没有问题。我的环境:

D10.4.2 社区版
编译目标:安卓 64 位,Debug 模式;
手机:Oppo,安卓12;

我的测试方法:
1. 新建一个简单的 FireMonkey 程序;
2. 拖一个 ClientDataSet 上来,设计期,新建 2 个 Field 给它。
3. 拖一个 stringGrid 过来,拖一个 BindNavigator1 过来。
4. 设计期,做一个可视化的数据绑定,绑定 ClientDataSet 和 StringGrid 以及 BindNavigator1,
5. 编译目标选择真手机,直接点运行按钮。手机上会弹个框问我不安全是否要安装。当然选择安装。
6. 手机上 APP 运行,点 BindNavigator1 的加号插入记录,然后在 StringGrid 里面随便输入数据;再点加号,再来一条数据。

到此,没有任何问题。我输入的数据里面包含中文。

上述过程中,没有任何和 Midas 相关的事情发生。没有 uses MidasLib,也没有在 deployment 里面去做任何操作,也就是没有额外发布任何和 Midas 相关的库文件什么的。

因此,在安卓底下,ClientDataSet 是可以使用的。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/10/9 19:16:09
12楼: 根据这个帖子:

https://delphican.com/archive/index.php/thread-6437.html

说明 Delphi 在使用 Midas 的时候,自动编译了  libmidas.a 这个库文件进去。并且这里也提到 Delphi 的版本问题。他用 10.4 的 libmidas.a 替换掉 103.3 的同样文件居然问题解决。

根据这个帖子:
http://bbs.2ccc.com/topic.asp?topicid=588088

可能是 Delphi 版本的问题。
----------------------------------------------
-
作者:
男 ddrfan (若苗瞬) ▲▲▲▲▲ -
普通会员
2022/10/9 20:57:15
13楼: 巧了我也有个写了N年的APP用的Datasnap。
虽然每一次安卓升级,代码都必须要改,
但是我整个项目中没有midas关键字。

客户端那边TSQLConnection.Driver 选的 DataSnap 。
服务端用什么感觉不重要。

客户端测试过Windows/Linux/Android。
不知道是不是我记不清了,总觉得安卓目前应该只支持64位了吧?
我们的手机应该都是ARM64的吧。

没测过模拟器,但是WSA似乎也OK。
----------------------------------------------
Bye bye DDRFAN...
作者:
男 ddrfan (若苗瞬) ▲▲▲▲▲ -
普通会员
2022/10/9 21:31:34
14楼: 好烦,真的每一代都要改。
现在手机是安卓12,刚试了下又不能运行了。
为了前面说能运行……
现改……七七八八去掉了一堆读写权限,TTS语音,总算运行起来了。

真机小米10,Win11+WSA都可以运行,正常连接和访问数据。
按此在新窗口浏览图片
----------------------------------------------
Bye bye DDRFAN...
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/10/10 2:03:38
15楼: 现在我的手机安卓 12,连接 DELPHI IDE Debug 模式,目标选择 Android64 没问题,选择 android32 根本不能成功安装运行。
----------------------------------------------
-
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
普通会员
2022/10/11 2:41:15
16楼: screenshot
此帖子包含附件:
PNG 图像
大小:119.9K
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
普通会员
2022/10/11 3:03:01
17楼: @ddrfan

Each IDE can have new definitions in your project, then, try keep a copy of "Android.Manifest.xml" for each edition!

you can use the "Save"/"Apply" options-set used by RAD Studio in your Project options menu!

Or, for each IDE, create a new project in a folder to save the default files, like: DPR, DPROJ, .XML, etc...

\MyProjects\MyApp\
...\IDE_7  <--- only project files
...\IDE_XE  <--- only project files
...\IDE_D11.2  <--- only project files
...\MyAppSources   <--- all files from project
此帖子包含附件:
PNG 图像
大小:44.0K
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
作者:
男 ddrfan (若苗瞬) ▲▲▲▲▲ -
普通会员
2022/10/11 9:21:25
18楼: @emailx45

thanks a lot:)

What I was teasing is Android's version change, 9 -> 10 -> 11 > 12.
every time Android upgrade, make us change some code, or the APP won't work.

like reading writing external storage...and many minor...

Android is not part of my job, and my company don't own and use new delphi. so maybe it's only my ignorance, not Android.
按此在新窗口浏览图片
----------------------------------------------
Bye bye DDRFAN...
作者:
男 changfenglee (葫芦老四) ▲▲▲▲▲ -
普通会员
2022/10/11 9:57:13
19楼: 非常感谢大家的帮助,现在问题解决了,是XE10.4版本问题,我升级到XE11.1以后,所有的这些问题都没有了
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行117.1875毫秒 RSS