预计lazarus标识符,但PROCEDURE发现

时间:2014-11-20 09:45:47

标签: lazarus

我正在尝试将Webkit 0.5安装到Lazarus中。

但是当我尝试编译时我得到了这个错误:

预计lazarus标识符,但发现PROCEDURE

Fatal: Syntax error, "identifier" expected but "PROCEDURE" found

它停止的代码是:

implementation
uses
  //LazWebKit
{$IFDEF LCLGTK2}
  Gtk2WSLazWebkitSettings;
{$ENDIF} //stops here

procedure RegisterWebkitSettings;
begin
{$IFDEF LCLGTK2}
  RegisterWSComponent(TCustomWebkitSettings, TGtk2WebkitSettings);
{$ENDIF}
end;  

1 个答案:

答案 0 :(得分:4)

在这种情况下,您还必须在uses中添加{$IFDEF}关键字。如果未定义其指令,则生成的代码如下所示(请注意孤立的uses关键字):

...
implementation

uses

procedure RegisterWebkitSettings;
begin

end;

所以要解决这个问题,请改用:

{$IFDEF LCLGTK2}
uses
  Gtk2WSLazWebkitSettings;
{$ENDIF}

此外,如果代码中使用的RegisterWebkitSettings仅在定义LCLGTK2指令时有效,则将该过程包装为{$IFDEF},如:

{$IFDEF LCLGTK2}
procedure RegisterWebkitSettings;
begin
  RegisterWSComponent(TCustomWebkitSettings, TGtk2WebkitSettings);
end;
{$ENDIF}