动态建立组件的命名问题

wangking 2009-04-13 04:23:59
请教,我用TIdHTTP *IdHTTP = new TIdHTTP(Application); 这种方式动态建立组件实例,那么,我怎么实现其中IdHTTP的这个实例名由变量决定呢?比如我弄个循环,建立IdHTTP1,IdHTTP2...这种,如何实现呢?
...全文
62 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangking 2009-04-14
  • 打赏
  • 举报
回复
貌似我的问题提的不对。
whomin 2009-04-14
  • 打赏
  • 举报
回复
1.声明个全局变量 int g_iDynCtrlID=10000;
2.定义函数:
AnsiString GetDynCtrlName()
{
return "DynCtrl_"+IntToStr(g_iDynCtrlID++);
}
以后凡是动态创建控件的命名都可以调该函数来获得
痞子酷 2009-04-13
  • 打赏
  • 举报
回复
引用 2 楼 Ring_Pt 的回复:
for(int i = 0; i < 10; i++)
{
TIdHTTP *IdHTTP = new TIdHTTP(Application);
IdHTTP->Name = "IdHTTP" + IntToStr(i+1);
}

----------
支持
fairchild811 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Ring_Pt 的回复:]
for(int i = 0; i < 10; i++)
{
TIdHTTP *IdHTTP =  new TIdHTTP(Application);
IdHTTP->Name = "IdHTTP" + IntToStr(i+1);
}
[/Quote]

可以
hemiya 2009-04-13
  • 打赏
  • 举报
回复

const int size = 10;
TIdHTTP *arrayIdHTTP[size];

// new
for(int i=0; i<size; i++)
{
arrayIdHTTP[i] = new TIdHTTP(this);
}

// delete
for(int i=0; i<size; i++)
{
delete arrayIdHTTP[i];
}

2楼的你理解错了,楼主要的是TIdHTTP的动态变量名,不是TIdHTTP->Name的动态名
jame2001 2009-04-13
  • 打赏
  • 举报
回复
請修正..


IdHTTP = (TIdHTTP *)pList->Items[i];

jame2001 2009-04-13
  • 打赏
  • 举报
回复

TIdHTTP *IdHTTP;
TList * pList;
pList = new TList;

for(int i = 0; i < 10; i++)
{
IdHTTP = new TIdHTTP(Application);
pList->Add(IdHTTP);
}

for(int i = 0; i < 10; i++)
{
IdHTTP = (TIdHTTP *)pList->Items[IdHTTP];
delete IdHTTP;
}

delete pList ;
wangking 2009-04-13
  • 打赏
  • 举报
回复
数组怎么弄?请赐教。
Jim@luckeeinc.com 2009-04-13
  • 打赏
  • 举报
回复
for(int i = 0; i < 10; i++)
{
TIdHTTP *IdHTTP = new TIdHTTP(Application);
IdHTTP->Name = "IdHTTP" + IntToStr(i+1);
}
hemiya 2009-04-13
  • 打赏
  • 举报
回复
用数组解决不了问题么?
非要用动态的变量名

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧