combox的addobject问题,sos!!!

dafu71 2007-02-27 10:52:40
s:='aaaa';
self.cmbClient.Items.AddObject(trim(FieldValues['ClientIP']),TObject(s));

showmessage(string(cmbClient.Items.Objects[cmbClient.ItemIndex]));
以上没有问题。

s:=trim(FieldValues['ClientNO']);
showmessage(s);
self.cmbClient.Items.AddObject(trim(FieldValues['ClientIP']),TObject(s));

showmessage(string(cmbClient.Items.Objects[cmbClient.ItemIndex]));

显示出s值为'aaaa',也就是说trim(FieldValues['ClientNO']='aaaa',但绑定到combox结果不对
...全文
312 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dafu71 2007-02-27
  • 打赏
  • 举报
回复
自己顶
DBgrid 2007-02-27
  • 打赏
  • 举报
回复
s:='aaaa';
self.cmbClient.Items.AddObject(trim(FieldValues['ClientIP']),TObject(s));


这句后面的TObject(s)虽然可以编译过去,但是执行错误的。因为将字符串变量本身转化成TObject类型的对象是不可以的。

DBgrid 2007-02-27
  • 打赏
  • 举报
回复
s:=trim(FieldValues['ClientNO']);
showmessage(s);
a:=TS.create;
a.s:=s;
self.cmbClient.Items.AddObject(trim(FieldValues['ClientIP']),a);

showmessage(TS(cmbClient.Items.Objects[cmbClient.ItemIndex]).s);
DBgrid 2007-02-27
  • 打赏
  • 举报
回复
回复:建议楼主这样做:
type
TS=class
private
s:string;
end
var
a:TS;

s:=trim(FieldValues['ClientNO']);
showmessage(s);
a:=TS.create;
a:=s;
self.cmbClient.Items.AddObject(trim(FieldValues['ClientIP']),a);

showmessage(TS(cmbClient.Items.Objects[cmbClient.ItemIndex]).s);


最后要记得释放内存

dovelee 2007-02-27
  • 打赏
  • 举报
回复
帮你顶
dafu71 2007-02-27
  • 打赏
  • 举报
回复
再顶

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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