如题,我想实现这样的一个功能:主程序中有一个pagecontrol,然后tidtcpserver的onexecute事件中,监听到某个命令,动态为主程序的pagecontrol创建一个tabsheet,并在这个新创建的tabsheet上动态添加一个控件,请问这样的代码有什么需要注意的地方吗? 为什么我写的代码运行时会卡死呢?
下面是我写的代码:
procedure TFrmServerMain.IdServerExecute(AThread: TIdPeerThread);
var
  clientdata:TBidPack;//自定义的record
begin
    if not AThread.Terminated and AThread.Connection.Connected then 
    begin
        with AThread.Connection do
        begin
            try
                AThread.Connection.ReadBuffer(clientdata,SizeOf(clientdata));
                AddXM(clientdata);
            finally
              Disconnect;
            end;
        end;
    end;
end;procedure TFrmServerMain.AddXM(data:TBidPack);
var
  temp:TListItem;
  NewPage:TTabSheet;
  NewLsView:TListView;
begin
    with xmLsView do
    begin
        temp:=Items.Add;
        temp.Caption:=IntToStr(Items.Count);
        temp.SubItems.Add(data.PrjID);
        temp.SubItems.Add(data.PrjName);
        temp.SubItems.Add('0');
    end;
    NewPage:=TTabSheet.Create(self);
    NewPage.PageControl:=MainPageCtl;
    NewPage.Caption:=data.PrjName;
    NewPage.Visible:=True;
    MainPageCtl.ActivePageIndex:=1;
    NewLsView:=TListView.Create(nil);
    NewLsView.Parent:=NewPage;
end;谢谢过路的高手回复!!! 我是新手,现在不了解出现了什么问题!!!