Odwoływanie się do komponentów utworzonych dynamicz

0

Jak się odwołać do np. Tedit stworzonego dynamicznie?
Przypuśćmy, że nazwałem komponent stworzony dynamicznie:
Myedit.name:='MySuperEdit";

I teraz chciałbym się odwołać do niego w innej procedurze:
np: onButton1Click
begin

ShowMessage(MysuperEdit.Text);
end;

0

A nie możesz po prostu MyEdit.Text?

0

Gdy tworzysz komponent, dodawaj go do TList. Potem tylko:

public
  Lista: TList;

[...]

var
  i: Integer;
begin
  for i := 0 to Lista.Count -1 do
    if (TList[i] as TComponent).Name = 'MyEdit' then
      ...
end;
0

Gdy tworzysz komponent, dodawaj go do TList.

Bez sensu w tym przypadku. Ma przecież zmienną typu TEdit, to może się odwoływać do edita po nazwie tej zmiennej. TList tu tylko skomplikuje sprawę. Już lepiej by było użyć findcomponent.

// Dopisane

O ile komponent jest creowany tylko raz

Jeśli ktoś ma jedną zmienną, z której tworzy kilka komponentów... Nie jestem zwolennikiem takiego rozwiązania, zawsze w takim momencie używam tablic.

0

Ma przecież zmienną typu TEdit

O ile komponent jest creowany tylko raz, co do fincomponent to chyba masz racje (nigdy tego nie uzywalem).

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