[Delphi] Zda?żenia [zdarzenia dla komponentów utworzony

0

Jak zdeklarować i wywołać zdażenie dla komponentu utworzonego dynamicznie?

0

Odpowiedz jest prosta jesli to ty tworzysz ten komponent to utwurz typ proceduralny np

MyEvent = procedure (MyParam1: Type1; ..; MyParamN; TypeN) ;
lub
MyObjectedEvent: procedure (MyparamMyParam1: Type1; ..; MyParamN; TypeN) of TObject;

W tym drugim przypadku jako procedure mozna przypisac metode innego obiektu.

Aby taki event zaistnial zdeklaruj w czesci public zmienna typu MYyEvent
A zamiast Myparam i type wtaw nazwy zmiennych itp

A po utworzeniu dynamicznie komponentu przypisz mu procedure czy cos tam odpowiadajaca deklaracji. aha twoj komponent musi wywolac taki event bo inaczej to nie bedzie miało sensu!

0

chodzi mu nie o komponenty tylko o takie utworzone dynamicznie

private
{...}
procedure myclick;
{...}

potem
var button:tbutton;
begin
{inicjacja buttona}
button.onclick:=myclick;
end.

byo to yba w faku ale niewiem

0

Trzeba jeszcze dodać, że procedura myclick musi mieć takie same parametry, jak zdarzenie komponentu :)

0

no niewiem ale ok

procedure myclick(sender:tobject);

ale to zbędne

0

Trzeba napisać Nazwa_kompunentu_np_button.OnClick := Yaya;

procedure TForm1.Yaya(Sender: TObject);
begin
end;

Koniecznie musi być Sender: TObject ponieważ jest to procedura dla komponentu

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