在frame中添加一个olecontainer控件,然后在窗体中动态创建该frame,结果提示"control olecontainer1 has no parent window".请问该如何解决这个问题.

解决方案 »

  1.   

    应该不会有问题的
    你把那个OleContainer删掉再放个看看
    或者View As Text
    看看OleContainer的定义是不是在Frame内
      

  2.   

    谢谢,两种方法我都试过了,换个olecontainer也不行,在view as text里看olecontainer的定义确实在frame内
      

  3.   

       
      补充出错的源程序:  type
      TMyFrame=class of TFrame;
         ........
      procedure LoadFrameByClassName(FrameClassName:TmyFrame);  var
        Ffrm:tframe;  procedure Tform1.LoadFrameByClassName(FrameClassName:TmyFrame); //过程LoadFrameByClassName的定义
      begin
       Ffrm:=FrameClassName.Create(nil);            //语句1
       Ffrm.Parent:=form1;
       ffrm.Left:=0;
       ffrm.Top:=0;
      end;  procedure TForm1.N8Click(Sender: TObject);    //动态创建并调用frame
      begin
        LoadFrameByClassName(Tframe5);
      end;
      
      当程序运行到语句1时,弹出错误"...control   olecontainer1   has   no   parent   window....".  另外, 当olecontainer中未插入对象时,不出错,插入对象后运行才出现上述错误。  
      

  4.   

    Ffrm:=FrameClassName.Create(nil);                         //语句1 
    nil改为Self