var ParntBitbtn: ^TBitBtn;ParntBitbtn:=@TBitBtn(pnl1.Components[i]) ;为什么编译不过去 提示缺少变量

解决方案 »

  1.   

    干嘛呀,ParntBitbtn:=Pointer(Panel1.Controls[0]);这不就是地址码
      

  2.   

    这个不是地址啊 你可以实验一下 显示一下 他的caption 会报错的
      

  3.   


    var
      ParntBitbtn: ^TBitBtn;
    begin
     ParntBitbtn:=Pointer(Panel1.Controls[0]);
     ShowMessage(TBitBtn(ParntBitbtn).Caption);
    end;
      

  4.   

    还是不行啊  指向的地址错位置了,你多放几个 button 看看
      

  5.   

    function TForm1.GetParntButton(menucaption:string):TBitBtn;
    var i:Integer;
    begin
        ShowMessage(menucaption);
      for i:=0 to pnl1.ComponentCount-1 do
      begin    if  (pnl1.Components[i] is TBitBtn) then
            if Trim(TBitBtn(pnl1.Components[i]).Caption)=trim(menucaption) then
            begin
                 ParntBitbtn:=Pointer(TBitBtn(pnl1.Controls[i])) ;
                 ShowMessage(TBitBtn(ParntBitbtn).Caption);        end;  end;end;