我在将代码从Delphi 7迁移到Delphi Berlin 10.1时遇到问题
这是在Delphi 7上运行良好的代码
procedure TForm1.Button3Click(Sender: TObject);
var
S:String;
begin
//MaskEdit1.Text:=FF; <- This is the variable string
S:=#$5A+char(StrToInt(MaskEdit1.Text))+#$01#$00#$0D#$0A;
ComPort1.WriteStr(S);
end;
为什么char()
不能与Delphi Berlin 10.1上的字符串一起使用?,我尝试使用PAnsiChar()
并且不能正常工作这是错误:
[dcc32错误] Unit1.pas(75):E2089无效的类型转换
如果有人问你这个问题,你无法将像Hello这样的文本转换为现实生活中的单个字符。所以编译器不能因为它是不可能的。你可能想写一些类似的东西:
S := #$5A + MaskEdit1.Text[1] + #$01#$00#$0D#$0A;
其中[1]是掩码编辑文本字符串的第一个char(希望用户可以输入的唯一一个)的索引。假设基于1的字符串char索引,这是桌面应用程序编译器的默认值。