Delphi XE8报错:There is no overloaded version of 'ReadLn' that can be called with these arguments
作者&投稿:宇文韦 (若有异议请与网页底部的电邮联系)
Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool。
对于ByteBool,WordBool和LongBool三种类型True常量的值为非零,False为零,可以用Ord函数验证;而对于Boolean类型,True常量的值为1,False为零。但是编译器在期望Boolean值的上下文中,为了兼容BoolToStr会把true转化为一个非零值(-1)。
delphi法就是德尔菲法,也称专家调查法。
1946 年由美国兰德公司创始实行,其本质上是一种反馈匿名函询法,其大致流程是在对所要预测的问题征得专家的意见之后,进行整理、归纳、统计,再匿名反馈给各专家,再次征求意见,再集中,再反馈,直至得到一致的意见。
该方法是由企业组成一个专门的预测机构,其中包括若干专家和企业预测组织者,按照规定的程序,背靠背地征询专家对未来市场的意见或者判断,然后进行预测的方法。
扩展资料:
德尔菲法(Delphi method),是采用背对背的通信方式征询专家小组成员的预测意见,经过几轮征询,使专家小组的预测意见趋于集中,最后做出符合市场未来发展趋势的预测结论。
德尔菲法是为了克服专家会议法的缺点而产生的一种专家预测方法。在预测过程中,专家彼此互不相识、互不往来,这就克服了在专家会议法中经常发生的专家们不能充分发表意见、权威人物的意见左右其他人的意见等弊病。各位专家能真正充分地发表自己的预测意见。
参考资料来源:百度百科-德尔菲法
建议检查一下,ReadLn 的函数原型或帮助。
这种问题的本质其实就是字符编码问题,只要统一下客户端和服务器的字符编码就行。
网上的解决办法一种就是用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而不同。
利旭惠复: 根据错误提示:ReadLn 函数,没有你上面使用的调用形式.建议检查一下,ReadLn 的函数原型或帮助.
斗门区13979194094: 在delphi程序运行时,报错?
利旭惠复: 试如下方法:1、打开开始菜单找“运行”输入“C:\Windows\system32\msxml3.dll”、regsvr32、 C:\Windows\system32\msxml3.dll2、如果上面的方法不行,把以下内容复制到文本文件中,存为1.bat,然后再双击运行此文件.For %%i in (C:\windows\system32\*.dll) Do regsvr32.exe /s %%i For %%i in (C:\windows\system32\*.ocx) Do regsvr32.exe /s %%i
斗门区13979194094: Delphi 中的报错:debugger exception notification - ?
利旭惠复: 这是一个运行时刻输入数据校验(无效输入导致)异常的错误,可以通过下述设置来避免弹出上面的提示: Tools ---- Debugger Options----OS Exception页----去掉OK按钮前Integrated debugging选项的挑钩.但还是建议你在代码中加入Try........except........end语句, 确保安全运行.
斗门区13979194094: delphi打开工程文件时出错! - ?
利旭惠复: 其实这个问题是由于你使用了不同版本的Delphi的原因,比如你用Delphi 5 去打开原来用旧版本如delphi 4 或更早,就会出现.这还表现为应用程序的图标不与当前所编程序相同.编程书籍的所带光盘中的例子程序也出过这种问题.解决的办法是查找 *.res(经常出问题的那个子目录),然后删除之,再次用delphi打开,就会提示"找不到.res,Recreate?",点击 OK,保存后就不会再出现这种问题.
斗门区13979194094: delphi运行的错误不弹出来了,如果写错什么了,运行的时候会弹出提示错误,现在是运行不弹出提示错误 - ?
利旭惠复: 那是因为你把异常捕获后屏蔽了,在调试时如果抛出异常即使捕获了异常运行也会中断,但如果你直接双击可执行文件运行,屏蔽的异常不会有提示 try ......except // 这里如果不提示错误,那直接运行可执行程序就不会提示错误了,但在调试时会中断 end;
斗门区13979194094: delphi 提示错误怎么处理 - ?
利旭惠复: 是否安装了ReportMachine控件?这个控件里面有中文件的安装说明吧,我抄了一段5.安装 -----以在delphi5中安装举例,在别的版本delphi中请用相应版本的包,比如在delphi6中,rm_r50.dpk换成rm_r60.dpk即可 1.在Delphi IDE中卸载以前...
斗门区13979194094: DELPHI 编译出错,每次编译那个项目都会出现这个提示,偶尔能通过,十次有七八次失败 - ?
利旭惠复: 找到 Delphi XE 的 bolndmm.dll, borlndmm.dat, rlink32.dll 三个文件 复制到 Delphi 5 安装目录下的 bin 子目录
斗门区13979194094: DELPHI报错求解 - ?
利旭惠复: procedure TForm1.Button2Click(Sender: TObject); begin if not fileexists(edit1.text) then begin showmessage('文件不存在,请重新选择!'); exit; end else afilestream:=Tfilestream.create(edit1.text,fmopenread); end;
斗门区13979194094: delphi程序问题:Class TComPort not found. lgnore the error and continue? - ?
利旭惠复: 您好, 出现这个错误是由于多个类(这里是控件)丢失所致,我给您翻译一下错误信息吧: Class TComPort not found. lgnore the error and continue? 无法找到类TComPort,忽略这个错误并继续? Class TdsStatusBar not found. lgnore the ...
斗门区13979194094: DELPHI报错什么意思?????
利旭惠复: Unit1.pas 代码有错,不能编译