Delphi XE8报错:There is no overloaded version of 'ReadLn' that can be called with these argume

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi XE8报错:There is no overloaded version of 'ReadLn' that can be called with these argume相关的知识,希望对你有一定的参考价值。

indy控件:10.6
客户端:IdTCPClient1.IOHandler.WriteLn(edit1.Text);
服务端:AContext.Connection.IOHandler.ReadLn();
收发中文时乱码,显示几个问号:???????。

查百度后改为:
客户端:IdTCPClient1.IOHandler.WriteLn(edit1.Text,TEncoding.UTF8);
服务端:AContext.Connection.IOHandler.ReadLn(TEncoding.UTF8);
编译时报错:E2250 There is no overloaded version of 'ReadLn' that can be called with these arguments

参考技术A 根据错误提示:ReadLn 函数,没有你上面使用的调用形式。

建议检查一下,ReadLn 的函数原型或帮助。
参考技术B 这种问题的本质其实就是字符编码问题,只要统一下客户端和服务器的字符编码就行。
网上的解决办法一种就是用base64编码后发送,然后另一端解码。
另一种就是在readln和writeln时统一编码格式。如这里回答的:
//客户端写,读类似IdTCPClient1.IOHandler.WriteLn(“XXXXX”,TEncoding.UTF8);//服务器读,写类似str := AContext.Connection.IOHandler.ReadLn(TEncoding.UTF8);
后面一句我亲测正常:temp := IdTCPClient1.IOHandler.ReadLn('',IndyTextEncoding_UTF8);
这里提供另外一种方式:
其实只要一开始设置下IOHanger的DefStringEncoding属性就行了。
uses IdGlobal; //注意要引用这个//客户端初始化时设置DefStringEncodingIdTCPClient1.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8();//服务器在Connect事件中加上procedure TmyServerForm.IdTCPServer1Connect(AContext: TIdContext);beginAContext.Connection.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8();end;

这里的TEncoding和IndyTextEncoding不用太在意,试试就知道用哪个了。
包括DefStringEncoding属性在哪可能也会由于版本和VCL还是FMX而不同。

安装graphviz报错:There is no layout engine support for “dot“

使用丘比特笔记本安装graphviz时,使用

pip install graphviz

但是使用时,创建决策树分类器发现无法显示图像,报错如下:

只需要在丘比特笔记本上输入

!dot -c

再重新运行一次代码,问题就解决了!

以上是关于Delphi XE8报错:There is no overloaded version of 'ReadLn' that can be called with these argume的主要内容,如果未能解决你的问题,请参考以下文章

git pull报错:There is no tracking information for the current branch

esxi报错There is no more space for virtual disk--逻辑卷缩减!

安装graphviz报错:There is no layout engine support for “dot“

安装graphviz报错:There is no layout engine support for “dot“

安装graphviz报错:There is no layout engine support for “dot“

安装graphviz报错:There is no layout engine support for “dot“