Nadpisanie metody TMenuItem

Nadpisanie metody TMenuItem
MR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 120
0

do opcji w PopumMenu chcę dodać sprawdzanie jakichś warunków
więc tworzę moją własną klasę TMyMenuItem z dodatkową właściwością OnClick

Kopiuj
TMyMenuItem = class(TMenuItem)
  public
    procedure Click; override;
  end;
Kopiuj
procedure TMyMenuItem.Click;
begin

 
    if <tutaj będą jakieś dodatkowe warunki> then
    begin
      
    end;

    inherited Click;


end;

i później tworzę dynamicznie te pozycję w popupMenu

Kopiuj
      AMenuItem := TMyMenuItem.Create(Self);
      AMenuItem.Caption := 'otwórz'
      AMenuItem.OnClick := ProceduraOtworzClick;
      AMenuItem.Enabled := True;
      ppmSearch.Items.Add(AMenuItem);

Problem jest, że gdy klikam na te opcje w Popup, to wchodzi do tej mojej nowej procedury, ale nic nie wykonuje się dalej (tzn, nie wykonuje się pierwotne OnClick)

Co robię źle?

cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9051
1

A tak w ogóle - czemu robisz to w postaci procedure Click; override; zamiast skorzystać po prostu ze zdarzenia OnClick?

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 52
0

Może w bloku, który jest wykonywany przy wystąpieniu dodatkowych warunków niechcący kończysz wykonywanie metody poprzez "Exit"?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.