Witam!, mam pytanie ktore przedstawie za pomoca procedur, aby lepiej zrozumiec o co mi chodzi :
type
TPodmenu = class(TTabela)
public
procedure NewItemsPopup();
procedure GoToItemGrid(Sender: TObject);
end;
procedure TPodmenu.NewItemsPopup();
var
NewItem2 : TMenuItem;
i : Word;
begin
Tabela.AddPopup2.Items.Clear;
for i := 0 to Tabela.DBGrid3.Columns.Count-1 do
begin
NewItem2 := TMenuItem.Create(Self);
Tabela.AddPopup2.Items.Add(NewItem2);
NewItem2.Caption := IntToStr(i)+ '.' + ' ' + Tabela.DBGrid3.Columnsi].Title.Caption;
NewItem2.Tag := i;
NewItem2.OnClick := GoToItemGrid;
end;
end;
procedure TPodmenu.GoToItemGrid(Sender: TObject);
var s : String;
begin
with DataModule1.ADODataSet2, Tabela, TMenuItem as Sender do
begin
if (Label18.Caption = 'SYNONIM') then
begin
case Tag of
0 : SzukajDanych(0, s); //wywolanie procedury
2 : SzukajDanych(2, s);
end;
end;
end;
Zawartosc powyzszej procedury zostaje przeniesiona do innej formatki i tam jest problem odniesienia sie do Tag, czyli TMenuItem as Sender .
Jak to zrobic ???