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结果不对
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结果不对
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);
最后要记得释放内存
showmessage(s);
a:=TS.create;
a.s:=s;
self.cmbClient.Items.AddObject(trim(FieldValues['ClientIP']),a);showmessage(TS(cmbClient.Items.Objects[cmbClient.ItemIndex]).s);
self.cmbClient.Items.AddObject(trim(FieldValues['ClientIP']),TObject(s));
这句后面的TObject(s)虽然可以编译过去,但是执行错误的。因为将字符串变量本身转化成TObject类型的对象是不可以的。