1.不清楚
2.mynewitem.onclick:=FunctionName//你的过程名

解决方案 »

  1.   

    如果你的程序改成下面的样子就可以通过了:
    procedure TForm2.BitBtn1Click(Sender: TObject);
    var
      mynewitem:TMenuItem;
    begin
      mynewitem:=TMenuItem.Create(self);//动态创建菜单项
      mynewitem.caption:='a';//设置菜项单名
      mynewitem.Hint:='b';
      Form1.PopupMenu1.Items.Add(mynewitem);//把生成的菜单项加入Form1.popupMenu1中
    end;
    如果你要加OnClick代码,就在上面代码的“Form1.PopupMenu1.Items.Add(mynewitem);”子中上面加mynewitem.OnClick:=mynewitemClick(你自己定义的一个过程,用来响应动态创建 被点击事件)比方说mynewitemclick过程定义如下:
      procedure TForm2.mynewitemclick(Sender:TObject);
        begin
          showmessage('事件响应成功!');
        end;
     
      

  2.   

    我想定义到底是什么caption的newitem被点了,怎样做呢?
    sender?
      

  3.   

    procedure TForm2.mynewitemclick(Sender:TObject);
    begin
      ShowMessage(TMenuItem(Sender).Caption);
    end;
      
      

  4.   

    可是不行呀:
    //////////unit 2
      public
    procedure mynewitemclick(sender:tobject);//[Error] Unit2.pas(24): Unsatisfied forward or external declaration: 'TForm2.mynewitemclick'
        { Public declarations }
      end;var
      Form2: TForm2;implementation{$R *.dfm}
     procedure mynewitemclick(sender :tobject) ;
     begin
      form1.FileListBox1.Directory:=tmenuitem(sender).Hint; end;...
    begin
    mynewitem.onClick:=mynewitemclick;form1.PopupMenu1.Items.Add(mynewitem);
    end;
    ...
      

  5.   

    就是说在我定义procedure mynewitemclick(sender:tobject);的时候有这样的错误:
    [Error] Unit2.pas(24): Unsatisfied forward or external declaration: 'TForm2.mynewitemclick'
        
      

  6.   

    以前的create的问题已经解决了,现在我想知道为什么我照上面说的定义mynewitem的onclick的时候会出这样的错误.
      

  7.   

     to blazingfire(烈焰) :
    "比方说mynewitemclick过程定义如下:
      procedure TForm2.mynewitemclick(Sender:TObject);
        begin
          showmessage('事件响应成功!');
        end;"
    这个过程写在哪里?要不要先声明?我delphi比较莱,感谢赐教!