请问哪位高手用过控件名称保存在数据库中的(50)

  • 主题发起人 主题发起人 极品铁观音
  • 开始时间 开始时间

极品铁观音

Unregistered / Unconfirmed
GUEST, unregistred user!
如我有很多个panel控件,每个控件上面的edit等控件是不同的,所以每个项目对应一个panel,现在我想把这些panel控件名称保存在数据库中,当点击treeview中的item时显示对应的panel(panel建立后隐藏),试不出来,请问是不是控件名不能用变量,可以的话该怎么做?,谢谢!表:id,p_name 1 panel1 2 panel2treeview的item 项目1(点击此外已将panel字符串取出),但要显示出panel1出错。 项目2部分代码:shdp:=jc_dm.DStree.DataSet.Fieldbyname('shd_p').AsString;//保存在数据库表中的字段,if shdp='' then//如果点击treeview的item时该字段为空则项目未完成 begin MessageBox(0,'项目未完成!,请联系开发人员','提示',MB_OK); Tpanel(FindComponent(shdp)).visible:=false;//运行结果为内在冲突。
 
可以根据数据库中的控件信息建立控件。应该没问题。
 
Tpanel(FindComponent(shdp)).visible:=false;//运行结果为内在冲突。shdp变量都为空了,FindComponent返回的就是nil,你再设置Tpanel(FindComponent(shdp)).visible肯定是内存异常啊。
 
基本的控件问题搞搞懂就好
 
如jennykiller所说, 代码逻辑本身就有问题其次FindComponent(shdp)的返回值,你一定要先判断是否为空, 才能继续使用这个对象
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
828
SUNSTONE的Delphi笔记
S
S
回复
0
查看
758
SUNSTONE的Delphi笔记
S
后退
顶部