Vraag : Popup menu onclick steekt geen gebeurtenis in brand

Ik heb een popup menu dat cre�ër dynamisch titels op de waarde in een net dat (asg2) worden gebaseerd, en het werkt als ik wil het… behalve…. de gebeurtenis OnClick niet fire.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.asg2MouseDown (Afzender: TObject; Knoop: TMouseButton;
  Verschuiving: TShiftState; X, Y: Geheel);
  var ts: koord;
      mi1, mi2: TMenuItem;
begin
  als Knoop = mbRight toen
    begin
      asg2.Row: = ASG2.MouseCoord (X, Y). Y;
      AdvPopupMenu1.Items.Clear;

      mi1: = TMenuItem.Create (AdvPopupMenu1);
      mi1.Caption: = 'Pingel '+asg2.cells [0, asg2.row];
      mi1.OnClick: = Ping2Click;

      mi2: = TMenuItem.Create (AdvPopupMenu1);
      mi2.Caption: = 'Controle '+asg2.cells [0, asg2.row];
      mi2.OnClick: = Check1Click;
      AdvPopupMenu1.Items.Add ([mi1, mi2]);

      als ((ASG2.MouseCoord (X, Y). X=0)) dan
          AdvPopupMenu1.PopupAtCursor;
      mi1.Destroy;
      mi2.Destroy;
    eind;
eind; 


Neither Ping2Click noch Check1Click zal in brand steken wanneer het respectieve menupunt ideeën selected.

Any is?

Antwoord : Popup menu onclick steekt geen gebeurtenis in brand

Enkel een snelle blik door uw code, waarom cre�ërt vernietigt u deze meniutems en hen dan in de zelfde procedure?
De manier u het hebt gedaan schijnt anders correct te zijn -- u wijst de naam van eventhandler aan de gebeurtenis toe, zoals binnen
  mi2.OnClick: = Check1Click;  
Dan wanneer de gebruiker op mi2 klikt, wordt Check1Click geroepen
U kunt de parameter van de Afzender dan gebruiken om te zien welke knoop het riep.

Nochtans, nadat u mi2.OnClick zei: = Check1Click; in uw bron-code, vernietigt u het onmiddellijk, d.w.z. mi2.destroy;
Andere oplossingen  
 
programming4us programming4us