收录日期:2019/01/17 21:32:21 时间:2016/05/20 18:27:24 标签:基础类
动态创建控件时的问题. 
开始运行没有问题,但在程序里多取几次n的值就会出错,请问这是怎么回事? 
如何解决???? 
int n=ADOQuery2->FieldCount; 
for(int i=0;i<11;i++) 

if(TEdit2[i]!=NULL) 

TEdit2[n]->Free(); 
DLabel[n]->Free(); 


for(int i=0;i<n;i++) 

TEdit2[i]=new TEdit(this); 
DLabel[i]=new TLabel(this); 
}
看不出什么意思?i,n,11
int n=ADOQuery2->FieldCount; 
for(int i=0;i<11;i++)  //11???

if(TEdit2[i]!=NULL)  //i???

TEdit2[n]->Free(); //n???
DLabel[n]->Free(); //n???



for(int i=0;i<n;i++) 

TEdit2[i]=new TEdit(this); 
DLabel[i]=new TLabel(this); 
}

你没有给出具体的edit和label new时候的代码,我怀疑你的TEdit[n]虽然不等于空,但并不等于DLabel[n]也不等于空啊!还有,你不要用递增来遍历,尝试一下用递减
你说话顺序太乱,能不能说的具体一些?例如:TEdit2和DLabel两个组什么时候建立,什么时候删除?
edit和lable是同时创建,也同时删除,窗体show的时候创建,但每次创建之前把原来创建的删除
n是数据表的字段数,总是n<11,循环变量,创建和删除的代码都在上面了
对不起,开始代码写错了点,现更正如下
int n=ADOQuery2->FieldCount; 
for(int i=0;i<11;i++) //i是循环变量, 

if(TEdit2[i]!=NULL)  

TEdit2[i]->Free(); //在这里删除
DLabel[i]->Free(); 



for(int i=0;i<n;i++) //n总是小于11

TEdit2[i]=new TEdit(this); //在这里创建
DLabel[i]=new TLabel(this); 
}
int n=ADOQuery2->FieldCount; 
for(int i=0;i<n;i++)  //11???

  if(TEdit2[i]!=NULL)  //i???
  { 
    delete TEdit2[i];
    TEdit2[i]=NULL;

  } 
  if(DLabel[i]!=NULL)  //i???
  { 
    delete DLabel[i];
    DLabel[i]=NULL;

  } 

for(int i=0;i<n;i++) 

  TEdit2[i]=new TEdit(this); 
  DLabel[i]=new TLabel(this); 
}
用了zjqyb() 的方法后,问题好像解决了,至少现在我切换了好几次都没出现问题.
但zjqyb()你能告诉我为什么吗?
你不应该use
  TEdit2[i]->Free();
  DLabel[i]->Free(); 
去析构
何况析构后TEdit2[i]也不可能为NULL
必须自己Tedit2[i]=NULL


delphi中use :FreeAndNil(TEdit2[i])
多谢

用背景图片做的导航链接按钮,在ie8上正常显示,ie6不行 双卡手机 怎样知道 获取的短信是哪个卡接收到的 【】【】【】【】VC6.0 问题。。。。。。。。。。急死我了【】【】【】【】 opengl里如何控制物体循环往复运动 C# 键盘事件 xsl判断标签下是否有子标签的问题 C++类 如何绑定 C#中的事件 求合并数组的高效方法 讲解Java基础知识(二) 求解,mvc3.viewEngine缓存查看,下班结贴. 网络 业务咨询:是否有公司卖支持Xpage的流程引擎? 如何判断同一列不同数据 数据库备份的问题 你要是牛逼,就给我解释解释tomcat启动的原理 代码如下 Poco Json vs 2010 文件丢失,请求帮助 c++buider动态链接库问题,如何调用封装内容为类的dll文件 C++类 如何绑定 C#中的事件 老C++Builder工程无法编译了 oracle数据库联合查询起别名问题 session过多可以用什么方法解决? 济南找vc++兼职 请教一个grep正则表达式字符串匹配的问题? 诚心求助各位解答 真正贫民红眼加点,钝器王道。伪贫民巨剑流退散 新手求教:如何限制TextArea或者TextField输入的长度? CAKEPHP框架问题----求解答--感谢! 高手能帮忙解决个问题,关于visual studio 2010 express for windows phone 关于网页用DIY功能和在线竞拍功能