【问题标题】:lazarus identifier expected but PROCEDURE found应为 lazarus 标识符,但已找到 PROCEDURE
【发布时间】:2014-11-20 09:45:47
【问题描述】:

我正在尝试将 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;  

【问题讨论】:

    标签: lazarus


    【解决方案1】:

    在这种情况下,您还必须将 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}
    

    【讨论】:

    • 奇怪。修复后似乎会出现更多错误。我只是想安装:sourceforge.net/projects/lazwebkit/?source=typ_redirect 0.5 版。不明白为什么我不能编译它:o/
    • 我也在使用最新版本的 Lazarus。我的操作系统是 Windows 7。
    • 代码引号对 windows 不起作用,因为通常没有定义 LCL_GTK2。
    • 安装错误太多了。不敢相信其他人没有发布这个问题。可能需要为 Lazarus 寻找另一个浏览器:o/
    • 我从未尝试过 LazWebkit,但项目页面上的注释目前仅针对 GTK2 小部件集实现。 听起来你在 Windows 平台上运气不佳。
    猜你喜欢
    • 1970-01-01
    • 2022-08-05
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多