Tworzenie i odnoszenie się do dynamicznych obiektów

0

Witam,

W pętli tworzę sobie załóżmy 5 obiektów WebBrowser. Każdemu nadaje osobno właściwość tag. Jak odnieść się do pierwszego stworzonego w pętli webBrowsera ?

for i:=0 to k do
begin
      WebBrowser:=TWebBrowser.Create(self);
      WebBrowser.Tag:=i+1;
end;
0
  1. zapisuj je w jakiejs tablicy
  2. nazywaj w jakis sposob a potem uzyj TWebBrowser(Findcomponent(nazwa))
0

No więc w pierwszym przycisku mam zdefiniowane

for i:=0 to 10 do
    browser[i]:=TWebBrowser.Create(self);

a w drugim przycisku

    browser[0].Left:=10;
    browser[0].Top:=10;
    browser[0].Width:=140;
    browser[0].Height:=40;
   //browser[0].Parent:=self; // nie chce sie kompilowac
    browser[0].Visible:=True;

Dlaczego webbrowser sie nie pojawia na formie ?

0

bo nie ma przypisanego rodzica.

browser[0].ParentWindow:=form1.Handle;

aaa... daj to przed ustawianiem rozmiaru/pozycji webbrowsera.

0

Ok, dziękuję Ci bardzo.
Mam jeszcze jedno pytanie jak odnosić się do Ondocumentcomplete dla dynamicznego webbrowsera ?

0

Nigdy nie korzystałem z TWebBrowser, bo nie miałem potrzeby i w Delphi 7 Personal nawet go nie mam, no
ale podejrzewam, że jak w przypadku innych komponentów robisz na przykład coś takiego dla pola Edit, ale
wiadomo oczywiście że być może Ondocumentcomplete ma jeszcze inne parametry poza Sender - to je też,
w deklaracji oraz definicji procedury uwzględniasz. Poniższy kod jest dla jednego Edita, ale nie problem tu
oczywiście użyć tablicy tych Editów, chciałem tylko żebyś zrozumiał ideę. Teraz pownieneś sobie poradzić :)

//...
  public
    procedure Edit_OnChange(Sender : TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit_OnChange(Sender : TObject);
var
  Edt : TEdit;
begin
  Edt := TEdit(Sender);
  Caption := Edt.Text;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  A : TEdit;
begin
  A := TEdit.Create(Self);
  A.OnChange := Edit_OnChange;
  A.Parent := Self;
end;

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