如何取ComboBox1.itemindex

esunhong 2018-03-21 04:55:55
//给combobox赋值
ComboBox1.Items.AddObject('aaa', TObject(NewStr('001')));
ComboBox1.Items.AddObject('bbb', TObject(NewStr('002')));
ComboBox1.Items.AddObject('ccc', TObject(NewStr('003')));

//获取当单前TObject的值 成功
str := PString(ComboBox1.Items.Objects[ComboBox1.ItemIndex])^;

//根据TObject的值返回对应的itemindex 错误
itemindex:=ComboBox1.Items.IndexOfObject(TObject(NewStr('001'));
...全文
818 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
esunhong 2018-03-22
  • 打赏
  • 举报
回复
返回是-1,可能只有通过items.indexof('aaa')来返回了
xiaocongzhi 2018-03-22
  • 打赏
  • 举报
回复
同样是这个NewStr('001'),不代表其地址也一样。你要先搞个AObject: TObject记住你存入Objects里的某个项目,再用这个AObject取试试
doloopcn 2018-03-22
  • 打赏
  • 举报
回复
还没有使用OBJITEM过这种方法,看程序应该是指针的问题 返回是什么错误?应该是-1吧 itemindex:=ComboBox1.Items.IndexOfObject(TObject(NewStr('001')); TObject(NewStr('001')已经是一个新的指针,不存在于ITEMS中

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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