procedura w dynamicznym komponencie

0

Hm... nurtuje mnie pytanie:
Czy kiedy stworze jakiś komponent dynamicznie, moge np. w jego zdarzeniu OnClick dodać procedurke w stylu ShowMessage('Huraa')

0

możesz

0

a moze podpowiesz jak ??

0

OnClick := JakasTwojaMetoda;

0

Ha, bardzo śmieszne...
Przecież od razu tak spróbowałem, ale problemem jest komunikat
Gdy dam np. ShowMessage('dsa'); wyskakuje Incompatible types: 'TNotifyEvent' and 'procedure, untyped pointer or untyped parameter'

0

Bo ta procedure musi mieć odpowiednie parametry oraz być częścią jakiejś klasy.

0

Przeciez napisalem, ze ma byc metoda.

TJakasTamKlasaMozeBycFormatkaAlboCokolwiekInnego = class
public
  procedure MojaMetoda(Sender: TObject);
end;

implementation

procedure TJa...nnego.MojaMetoda(Sender: TObject);
begin
  ShowMessage...
end;
0

Kurde, chyba jestem tempy ale nie jaże !!!

Zrobiłem tak:

TForm1 = class(TForm)
public
procedure wyswietl(Sender: TObject);
end;

implementation

procedure TForm1.wyswietl(Sender: TObject);
Begin
ShowMessage('hi');
End;

procedure TForm1.button1click(Sender: TObject);
Begin
button2.onClick := wyswietl(nil);
End;

End.

I dalej wyskakuje to samo, a przecież klasą jest TForm1
0

button2.onClick := wyswietl;

Procedurę traktujesz w tym momencie jak zmienną, a nie jak funkcję.

0

OK, działa... Wielkie dzięki

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