osx – TClientDataset在OS X Firemonkey应用程序

前端之家收集整理的这篇文章主要介绍了osx – TClientDataset在OS X Firemonkey应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 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的更多示例

猜你在找的Delphi相关文章