我要在Combobox的Item上存放一个Float类型的数值,但是如果用
  Combobox1.Addobject('a', Tobject(12.5));就出现错误,但是如果是 
  Combobox1.Addobject('a', Tojbect(1234));就没有问题,请问为什么?
  应该怎样存放Float类型的值!

解决方案 »

  1.   

    var f: double;
    begin
     f := 12.5;
     ComboBox1.AddItem('a', Tobject(@f));
    end;只能將指針存進去!!
    integer占內存 4位, 就可!
    但float, double, 超過4位, 就...
      

  2.   

    for s:= 0 to 10 do
    begin
     Combobox1.items.addobject(inttostr(s),Tobject(s));
     edit1.Text := inttostr(s);
    end;
    S返回的是个索引值,不可用浮点型,
      

  3.   

    请问aiirii:
    1。如果float,double超过了4位,应该怎样做呢?
    2。应该怎样读取Float,double的对象呢?
      double(Combobox1.Items.Objects[Combobox1.ItemIndex])提示出错!
    在线等待!
      

  4.   

    别addobject了,用个链表或数组保存double值就没有这个问题了,效率也不算太低
      

  5.   

    用個 @d 之類的!
    讀出來後, 用
    double(Pointer(Combobox1.Items.Objects[Combobox1.ItemIndex])^)因為Combobox1.Addobject也只是保存Object 的引用而已