[英]Delphi Error E2010 Incompatible types: 'string' and 'procedure, untyped pointer or untyped parameter'
[英]Incompatible types: 'Integer' and 'procedure, untyped pointer or untyped parameter'
给变量一个计数值时出现错误(不知道这是否有意义)。
iCount := inc(iCount,1);
这是我的代码:
var
iCount : Integer;
procedure TForm1.FormActivate(Sender: TObject);
begin
edtOutput.SelAttributes.size := 10;
edtOutput.SelAttributes.name := 'Courier';
edtOutput.Lines.Add(('Name') + #9 + #9 + ('Age') + #9 + #9 + ('Child or adult'));
end;
procedure TForm1.btnOKClick(Sender: TObject);
var
sName :String;
iAge :Integer;
begin
iCount := inc(iCount,1); // <--- HERES THE ERROR
sName := edtName.text;
iAge := edtAge.value;
当我给iCount
赋值时,会出现此错误:
Incompatible types: 'Integer' and 'procedure, untyped pointer or untyped parameter'
哦,edtOutput是RichEdit
。 我已经按照我的教科书所说的完全复制了它(不是整个程序,只是iCount
东西)
任何有关如何解决此问题的建议将不胜感激!
inc
的签名在文档中描述:
procedure Inc(var X: Ordinal; [ N: Integer]); overload;
procedure Inc(var X: Ordinal; [ N: Integer]); overload;
换句话说,这是一个接收要递增的变量作为var
参数的过程。 它不是函数,也不返回值。
您的代码应为:
inc(iCount);
Inc(ICount, 1);
是你所需要的全部。
替代方案:
ICount := ICount + 1;
Inc(iCount); // This increases by one, by default.
Inc(iCount, x); // This increases by x, where x is an integer.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.