3

我的代码有什么问题?我收到此错误:

[dcc32 错误] Unit6.pas(83): E2012 表达式类型必须为 BOOLEAN

function checkver(): boolean;
begin
  //some code here
end;

function refresh(): boolean;
begin
  //some code here
end;

procedure TForm6.FormCreate(Sender: TObject);
begin
  if checkver() then
    if refresh() then  //Error is HERE!!
      //some code here
end;

完整代码

4

1 回答 1

18

TControl(你的表单类的后代)有一个Refresh自己的方法,它不返回布尔值。该方法的范围比同名的单元级方法的范围更近,因为您在该类的方法中编写代码,因此编译器绑定的是Refresh方法,而不是refresh函数。

调用<unitname>.refresh以获取单元级函数而不是方法。

于 2013-01-30T18:05:57.790 回答