Komponenty dynamiczne Kasowanie

0

Witam

Stworzyłem dynamicznie komponent TScrollbox do którego włożony jest (dynamiczny) komponent TPanel na którym jest (dynamiczny) TImage . Do pewnych działań potrzebne mi były informacje o TImage więc w OnMouseMove tego komponentu wykorzystałem sender.

I tu mam pytanie jak w takim przypadku można odwołać się do komponentu TscrollBox (dokładniej to chciałbym go skasować). Dodam że w programie mam zadeklarowane TpopupMenu które jest przypisane do TImage.

// deklaracja komponentow

Scroll := TScrollBox.Create(Panel3);
Scroll.Parent := Panel3;
Pan := TPanel.Create(Scroll);
Pan.Parent := Scroll;
Im := TImage.Create(Pan);
Im.Parent := Pan; // rodzic

........................................................

Im.PopupMenu := MenuRozwijalne ;
Im.OnMouseMove := Przekaz1;

// dynamiczne tworzenie komponentow

  with Scroll do
  begin

    Height := dlugosc ;
    Width := dlugosc ;
    Left := lewo; // pozycja: X
    Top := gora; // pozycja: Y
    Name := 'Scroll' + IntToStr (licznik);
    with Pan do
    begin
       Height := Image5.Height;
       Width := Image6.Width;
       Name := 'Pan' + IntToStr (licznik);
     end;
     with Im do
     begin
       Height := Image5.Height;
       Width := Image6.Width;
       if licznik2 = 1 then Picture := Image5.Picture;
       if licznik2 = 0 then Picture := Image6.Picture;
       Name := 'Im' + IntToStr (licznik);

     end;
  end;

Za wszelkie porady z góry dzięki.

Pozdrawiam

[Dopisane]

Dzięki Matrox niestety Twój pomysł, choć ciekawy nie przdał mi się.

Dzięki EC-Mike zrobiłem tak jak to napisałeś i teraz działa
Dzięki dzięki dzięki :-) :-)

0

Może tak:

TScrollBox(TPanel(Im.Parent).Parent).Free;
0

ja bym tylko najpierw zapamiętał
a:= TPanel(im.parent).parent;
a potem zmienił TPanel(...).parent na formę, a dopiero uwolnił scrollboxa
przez
Tscrollbox(a).free;

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