我有这个令人难以置信的疯狂错误! 我在一个新的移动Android应用程序上删除了idhttpserver,webbrowser。
我希望服务器向浏览器提供内容。 它在Windows上运行良好但在我的Android设备上失败。 我测试了一个tcpserver和tcpclient。我可以让客户端连接,但是当我开始时 writeln和readln我得到了分段错误。
即使我运行调试关闭应用程序仍然崩溃...这是代码片段。
procedure TForm37.Button1Click(Sender: TObject);
begin
IdHTTPServer1.Bindings.Add;
try
IdHTTPServer1.Active := true;
if IdHTTPServer1.Active then
Button1.Text := 'Server Started';
except on E: Exception do
Button1.Text := 'Server Failed';
end;
end;
procedure TForm37.Button2Click(Sender: TObject);
var
astring : string;
begin
try
astring := IdHTTP1.Get('http://10.0.1.78:6000/');
// or astring := IdHTTP1.Get('http://127.0.0.1:6000/');
ShowMessage(astring);
except on E: Exception do
Button2.Text := 'connection failed';
end;
end;
procedure TForm37.IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
AResponseInfo.ContentText :=
'<html><head><title>My First Response</title></head>' +
'<body>Command: ' + ARequestInfo.Command +
'<br />Host: ' + ARequestInfo.Host +
'<br />URI: ' + ARequestInfo.URI +
'<br />UserAgent: ' + ARequestInfo.UserAgent +
'</body></html>';
end;
答案 0 :(得分:0)
这个答案肯定是非常不受欢迎的。 我也正在尝试使用XE5开发FM HD Android Datasnap应用程序,我每次都会收到Segementation Fault(11)!这是完全不可预测的。 编译为Win32目标不会产生任何错误。 例如: 按钮的事件处理程序将在第一次单击按钮时成功执行并完成,然后在第二次单击时,它将无缘无故地产生分段错误。 我的应用程序在这一点上几乎没有任何用处,但是我花了几个小时的时间尝试错误才能让它完成它的工作。 我个人认为Delphi XE5中的Android开发实际上并不可行,除非您恰好是已经使用其他开发人员开发Android应用程序的人。环境和/或你没有什么比做斗争更好的了。