Delphi, komponent MozillaBrowser

0

Witam

Próbuje utworzyć zakładki a na każdej z nich komponent MozillaBrowser.

procedure TForm1.Button1Click(Sender: TObject);
var zakladka : TTabSheet;
    MozillaBrowser     : TMozillaBrowser;
begin
zakladka := TTabSheet.Create(Self);
zakladka.Caption := 'Nowa karta';
zakladka.PageControl := PageControl1;

MozillaBrowser := TMozillaBrowser.Create(Self);
MozillaBrowser.Align := alClient;

zakladka.Show;
end;

Zakładki dodają się elegancko, następnie próbuje wyświetlić na aktywnej strone

procedure TForm1.Button2Click(Sender: TObject);
begin

(PageControl1.ActivePage.Controls[0] as TMozillaBrowser).Navigate('http://www.onet.pl');

end;

Niestety otrzymuje błąd:
http://imageshack.us/f/810/errorql.jpg/

Dziękuje za pomoc

0

Widocznie PageControl1.ActivePage.Controls[0] wkazuje na nil. Ja nie używałem nigdy TMozillaBrowser, bo nie mam FireFoxa, ale jeżeli tak jak TWebBrowser ów kontrola posiada własnośc Name to nadał bym jej sensowną i unikalną z kolejnym numerem przy tworzeniu, a następnie odwoływał się do niej przez na przykład MB := TMozillaBrowser(Self.FindComponent(...); i później sprawdzając czy MB jest różne od nil dopiero odwoylwal się MB.Navigate(...);.

0

Witam

MozillaBrowser := TMozillaBrowser.Create(Self);
MozillaBrowser.Align := alClient;
MozillaBrowser.Name := 'test';

Przy próbie nadania nazwy dostaje błąd, że wartość jest tylko do odczytu.

Pozdrawiam

0

Kwestia Parenta dla Mozzilli:

procedure TForm1.Button1Click(Sender: TObject);
var zakladka : TTabSheet;
    MozillaBrowser     : TMozillaBrowser;
begin
zakladka := TTabSheet.Create(Self);
zakladka.Caption := 'Nowa karta';
zakladka.PageControl := PageControl1;
 
MozillaBrowser := TMozillaBrowser.Create(Self);
MozillaBrowser.Parent:= zakladka;
MozillaBrowser.Align := alClient;
 
zakladka.Show;
end
0

Witam

Niestety próba ustawiania rodzica kończy się błędem iż zmienna jest tylko do odczytu.

MozillaBrowser.Parent:= zakladka;

Pozdrawiam

0

Sorry, zapomnialem ze oni to zrobili na wzór TWebBrowser IE.
Powinno być tak:

MozillaBrowser.ParentWindow:= zakladka.Handle;

Preztestuj to, bo ja akurat mam odinstalowaną kontrolkę od Mozilli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1