Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

[XE8] FMX TWebBrowser - Events

  Alt 7. Apr 2015, 16:07
So dann mal den ersten Test mit einem Delphi-Referenz durchsuchenFMX.Webbrowser.TWebBrowser.

Delphi-Quellcode:
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.WebBrowser,
  FMX.StdCtrls, FMX.Controls.Presentation, FMX.Edit, FMX.Layouts, FMX.ListBox;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Edit1: TEdit;
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
    procedure WebBrowser1ShouldStartLoadWithRequest(ASender: TObject; const URL: string);
    procedure WebBrowser1DidFinishLoad(ASender: TObject);
    procedure WebBrowser1DidStartLoad(ASender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Clear;
  WebBrowser1.Navigate(Edit1.Text);
end;

procedure TForm1.WebBrowser1DidFinishLoad(ASender: TObject);
begin
  ListBox1.Items.Add('DidFinishLoad ' + WebBrowser1.URL);
end;

procedure TForm1.WebBrowser1DidStartLoad(ASender: TObject);
begin
  ListBox1.Items.Add('DidStartLoad ' + WebBrowser1.URL);
end;

procedure TForm1.WebBrowser1ShouldStartLoadWithRequest(ASender: TObject; const URL: string);
begin
  ListBox1.Items.Add('ShouldLoadWithRequest '+URL);
end;

end.
Unter Windows 32/64-bit:
  • TWebBrowser.OnDidStartLoad und TWebBrowser.OnDidFinishLoad feuern jeweils drei mal ... Gibt es dafür einen Grund? Mir erschliesst sich dieser nicht
  • TWebBrowser.OnShouldStartLoadWithRequest wird schon mal gar nicht gefeuert ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat