分享

delphi中AddObject的使用方法

 quasiceo 2013-01-03

delphi中AddObject的使用方法

(1) integer 于 Object

   cmbBox.Items.AddObject(A_Value,pointer(I_Value));
  
   I_Ret:=cmbBox.itemindex;
   I_perID:=integer(cmbBox.Items.Objects[I_Ret]);

(2) string 于 Object

A_Code:='custID';
ComboBox1.Items.AddObject('客户ID',TObject(A_Code));

A_Value:=string(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);

上面的情况在一般下使用是可以的。但是当A_Code不是直接赋值,而是通过其他途径,比如数据库中取出或者其他任意函数构成的,比如A_Code:='a'+'b';这样就得不到A_Value了,或者是得到一串乱码。这是什么原因呢?

之所以出现那种情况,可能是因为在TObject( 某对象)时,该对象要是实体,不能是地址指针或虚对象。所以可以使用如下解决方法。

SL:= TStringList.Create;
SL.Add(inttostr(i 3));
 combobox1.Items.AddObject('中国',TObject(SL[0]));
 SL.Add(inttostr(i 6));
combobox1.Items.AddObject('美国',TObject(SL[1]));
 SL.Add(inttostr(i 6))
combobox1.Items.AddObject('德国',TObject(SL[2]));

这样,在combox1中就可以得到正确的值了。直接使用

A_Value:=string(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);就可以得到值了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多