【发布时间】:2014-03-17 16:20:02
【问题描述】:
我正在使用 Embarcadero RAD Studio XE5。 我正在为 Android 做 FTP 服务器。 使用的组件:IdFTPServer。
我写道:
procedure TForm1.Button1Click(Sender: TObject);
begin
Server.DefaultPort := 21;
Server.DefaultDataPort := 21;
Server.Active := true;
end;
得到错误:
First chance exception at $546D6023. Exception class EIdSocketError with message
'Socket Error # 13
Access denied.'.
Process Project1.apk (25778)
如何解决这个错误?
我的 XML 清单中有 <uses-permission android:name="android.permission.INTERNET" />。
【问题讨论】:
-
您确定您正确启用了 INTERNET 权限吗?如果您升级到最新的 SVN 快照,Indy 现在会在遇到错误 #13 并且未授予 INTERNET (see this) 时引发
EIdInternetPermissionNeeded异常。引发异常时调用堆栈是什么样的?是在激活服务器时发生,还是在连接客户端时发生?为什么要将 DefaultPort 和 DefaultDataPort 设置为同一个端口? -
我在 Windows 上编写了完全相同的服务器,一切正常。服务器无法在 android 上启动...请帮助我!
-
Windows 不像 Android 那样使用权限。这对我来说仍然像是一个权限问题,这就是为什么您需要绝对确定您的应用程序确实在启用 INTERNET 权限的情况下运行。请记住,权限可以隔离到特定的构建配置,因此请确保您的所有配置都使用相同的权限。
-
我如何检查这个?
标签: android delphi ftp indy delphi-xe5