【问题标题】:Lazarus - open a text file on another machineLazarus - 在另一台机器上打开一个文本文件
【发布时间】:2014-06-02 07:48:53
【问题描述】:

我正在 Lazarus 上做一个简单的程序来读取我的 Ubuntu 服务器上的文本文件(通过 LAN)。

我无法通过这条线:

AssignFile(TheFile,'//My-server-IP/home/myusername/folder/abc.txt');

我收到一条错误消息,提示 访问被拒绝。 我已将文件的权限设置为 777,但没有成功。

我什至尝试使用路径://My-server-IP/var/www/folder/abc.txt,但结果相同。

客户端机器是 Windows XP。但甚至可以是 Windows 7 或任何其他系统。

关于解决这个问题的任何想法都非常有价值。

【问题讨论】:

  • 您可以在客户端计算机上的 Windows 资源管理器中打开该文件吗?

标签: windows ubuntu text-files remote-access lazarus


【解决方案1】:

//server/share/file 不是 UNC 路径的 Windows 表示法。也许你的意思是 \server\share\file ?

我不确定 FPC 文件名处理是否支持 UNC。它主要基于 Win32 -A 函数,但尝试对文件名进行一些额外的清理。

请注意,在 Windows 资源管理器之外进行访问可能不会自动登录。

【讨论】:

  • 感谢 Marco 的提示...您是说我永远无法通过工作站上运行的客户端程序打开 Ubuntu 服务器上的文件吗?也许你是对的。我像你说的那样重命名了文件路径(\\server\home\user\folder...),但我仍然得到 Access Denied
  • 如前所述,通过 unc 路径访问文件不会自动建立连接。当通过 Windows 资源管理器(管理连接作为其功能的一部分)访问时会发生这种情况,但不使用 cmdline 或通过编程方式。所以你必须研究 api 函数(如 WNetAddConnection*)来建立连接
猜你喜欢
  • 2019-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
相关资源
最近更新 更多