加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

osx – TClientDataset在OS X Firemonkey应用程序

发布时间:2020-12-15 03:56:17 所属栏目:大数据 来源:网络整理
导读:我有一个 Windows Firemonkey应用程序,使用TClientDatasets加载我正在尝试在OS X上工作的XML数据文件.数据文件存储在Windows文件共享,因此多个用户可以访问相同的数据(我不是关注并发问题) 我似乎无法让Mac版本从服务器加载文件 – 似乎自动将本地路径预置到
我有一个 Windows Firemonkey应用程序,使用TClientDatasets加载我正在尝试在OS X上工作的XML数据文件.数据文件存储在Windows文件共享,因此多个用户可以访问相同的数据(我不是关注并发问题)

我似乎无法让Mac版本从服务器加载文件 – 似乎自动将本地路径预置到TClientDataset.Filename属性中设置的任何内容.

如果我在启动应用程序之前将数据文件复制到应用程序包中,那么它会很好地工作,所以我想我会尝试在代码中复制文件,但是我也找不到这些文件 – 它找不到文件在服务器上

TFile.Exists('smb://<servername>/<path>/Data.xml');

尽管我可以在Finder中看到它,但返回FALSE.

理想情况下,我宁愿从共享中加载文件,而不是在启动时复制文件,并在退出时复制.

解决方法

最大的问题是,Mac OS不会将您的网络文件夹自动映射到本地文件夹,windows virtualy为您提供此功能,即使您没有映射驱动器,所以所有文件都被临时复制到虚拟空间,这就是为什么可以使用它直接从您的应用程序在Windows而不映射网络文件夹.

所以要解决这个问题,你将需要将你的共享挂载到某个文件夹,使用这样的东西:

mkdir /卷/ WinShareName
挂载WinShareName“cifs:// server / share”

所以之后你可以使用TFile.Exists(‘/ Volumes / WinShareName / Data.xml’);
或者直接从clientedataset.loadfromfile加载它.

我只是不能测试它,因为我现在没有mac机器,但这是主要的想法.

更新 – –
您可以看到有关如何安装网络驱动程序here的更多示例

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读