1

いくつかの問題を解決し、「GMLib_DXE4.bpl」をインストールすることができました。

「GMLib_DXE4_VCL.bpl」のコンパイルで 2 つの問題が発生しました。

[dcc32 エラー] GMMapVCL.pas(124): E2003 宣言されていない識別子: 'TTimer'

[dcc32 エラー] WebControlVCL.pas(180): E2029 識別子が必要ですが、「実装」が見つかりました: 解決済み。

TTimerについて:

    uses
  {$IFDEF WEBBROWSER}
  SHDocVw,
    {$IFDEF DELPHIXE2}
    Vcl.ExtCtrls,
    {$ELSE}
    ExtCtrls,
    {$ENDIF}
  {$ENDIF}

  {$IFDEF CHROMIUM}
  cefvcl, ceflib, cefgui,
  {$ENDIF}

  {$IFDEF DELPHIXE2}
  System.SysUtils, System.Classes, Vcl.Dialogs, Vcl.Graphics,
  {$ELSE}
  SysUtils, Classes, Dialogs, Graphics,
  {$ENDIF}

  GMMap, GMFunctionsVCL;

実装について:解決しました。

    unit WebControlVCL;

    {.$DEFINE WEBBROWSER}
    {.$DEFINE CHROMIUM}
    {$I ..\gmlib.inc}

    interface

    uses
      {$IFDEF WEBBROWSER}
      MSHTML, SHDocVw,
      {$ENDIF}

      {$IFDEF CHROMIUM}
      ceflib, cefvcl,
      {$ENDIF}

      {$IFDEF DELPHIXE2}
      System.SysUtils,
      {$ELSE}
      SysUtils,
      {$ENDIF}

      WebControl;

    type
       -------------------------------------------------------------------------------}
      {$IFDEF WEBBROWSER}
      TWebControl = class(TCustomWeb)
      protected    
        function WebFormGet(const FormNumber: Integer): IHTMLFormElement;
        function WebFormFieldValue(const FormIdx: Integer; const FieldName: string): string; overload; override;
      public
         constructor Create(WebBrowser: TWebBrowser); reintroduce; virtual;
         .....
      end;
      {$ENDIF}

      {$IFDEF CHROMIUM}
      TWebChromium = class(TCustomWebChromium)
      protected
        function WebFormFieldValue(const FormIdx: Integer; const FieldName: string): string; overload; override;
      public
        constructor Create(WebBrowser: TChromium); reintroduce; virtual;
        .....
      end;
      {$ENDIF}

implementation

    uses
      {$IFDEF WEBBROWSER}
        {$IFDEF DELPHIXE2}
        Winapi.ActiveX, System.Types, Vcl.Graphics, Vcl.Forms, System.StrUtils,
        {$ELSE}
        ActiveX, Types, Graphics, Forms, StrUtils,
        {$ENDIF}
      {$ENDIF}

      {$IFDEF DELPHIXE2}
      Vcl.Imaging.jpeg, System.DateUtils;
      {$ELSE}
      jpeg, DateUtils;
      {$ENDIF}

    { TWebControl }

    {$IFDEF WEBBROWSER}
    constructor TWebControl.Create(WebBrowser: TWebBrowser);
    begin
      inherited Create(WebBrowser);
    end;
4

1 に答える 1