unit ApproveIdea;下面的程序运行时为什么看不到我程序运行时增加的控件呢?
运行的时候,没有错误,但是能把消息框弹出。interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseForm, StdCtrls, ADODB;type
    TLableArray=Array of TLabel;
    TMemoArray = Array of TMemo;
    TfrmApproveIdea = class(TfrmBaseForm)
    Button1: TButton;
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    FItemObjectID: string;
    Count: integer;
    Label1Array:  TLableArray;
    Label2Array:  TLableArray;
    Label3Array:  TLableArray;
    Label4Array:  TLableArray;
    Label5Array:  TLableArray;
    Label6Array:  TLableArray;
    MemoArray: TMemoArray;
    mylable: TEdit;
    procedure SetItemObjectID(Const Value: string);
  public
    { Public declarations }
    property ItemObjectID:string read FItemObjectID write SetItemObjectID;
  end;var
  frmApproveIdea: TfrmApproveIdea;implementation{$R *.dfm}
procedure TfrmApproveIdea.SetItemObjectID(const Value: string);
begin
    FItemObjectID:=Value;
end;
procedure TfrmApproveIdea.FormShow(Sender: TObject);
begin
  inherited;
  //IniList
end;procedure TfrmApproveIdea.Button1Click(Sender: TObject);
begin
   mylable:=TEdit.Create(self);
   showmessage('aaa');
   mylable.Parent :=frmApproveIdea;
   showmessage('bbbb');
   mylable.Left :=0;
   mylable.Top :=0;
   showmessage('ccc');
   //mylable.Caption :='Text';
   //mylable.Show ;
end;procedure TfrmApproveIdea.Button2Click(Sender: TObject);
begin
   mylable:=TEdit.Create(self);
   showmessage('aaa');
   mylable.Parent :=frmApproveIdea;
   showmessage('bbbb');
   mylable.Left :=0;
   mylable.Top :=0;
   showmessage('ccc');end;end.

解决方案 »

  1.   

    应该在创建的控件后面加上
    mylabel.visible := true;
      

  2.   

    ShowWindow(mylable.Handle, SW_SHOW)
      

  3.   

    mylable.Left :=0;
    mylable.Top :=0;你看上面,把所有控件都放在这个位置,前面创建的就被后面创建的盖住了,
    怎么会看得见。
      

  4.   

    procedure TfrmApproveIdea.Button2Click(Sender: TObject);
    begin
       mylable:=TEdit.Create(self);
       showmessage('aaa');
       mylable.Parent :=frmApproveIdea;
       showmessage('bbbb');
    end;
      

  5.   

    按你的思路应该所有创建的控件都在(0,0)这个位置上,你有说不显示,我看错误不在两个按钮的点击事件里。
    procedure TfrmApproveIdea.FormShow(Sender: TObject);
    begin
      inherited;
      //IniList
    end;
    你这是干什么的???