内容是:listbox1.item.addobject('item1', Tobject(Integer(adosql1.fieldValue[id])));一编译就有unsafe typecast of integer to TObject  什么什么的出现.我在代码中有很多处这样的写的代码.每次编译都出现.烦死了.说是和 .NET 不兼容.那应怎么写才不会有这样的情况.谢谢大家.麻烦给个解是啦.

解决方案 »

  1.   

    编译选项里去掉就好了嘛 project->options->compiler messages 最后三项
      

  2.   

    楼上二位,这样做是不安全的!!!使用时:
    var
      pInt := ^Integer;
    ...
      NEW( pInt );
      pInt := Integer(adosql1.fieldValue[id]);
      listbox1.item.addobject('item1', Tobject(pInt)));
    ...
      

  3.   

    下面的写错了
    var
      pInt : ^Integer;    //不好意思
      

  4.   

    不行啊。
     New(pInt);
            pInt := Integer(FieldValues['cd_id']);
            cb_corp.Items.AddObject(FieldValues['cd_name'], TObject(pInt));cb_corp = 公司名称的 组合框提示有错。
    Incompatible types integer and pointer
      

  5.   

    这样看看
    listbox1.item.addobject('item1', Pointer(Integer(adosql1.fieldValue[id])));
      

  6.   

    可以是可以。但老是有警告啊。我不要这个警告。太多了。
    unsafe type Pointer 呵呵
      

  7.   

    ~~~~, 你这种只能去编译选项, delphi7 新加的, 为的是向 .net 看齐, 但 delphi 中 TStrings.Objeet 里我们常用作收集一个 Integer 作 Index 或什么的, Objects 又是 TObject 数组, 只能作强 type cast, 而这种强 type case 又是不明类型..
      

  8.   

    在编译时把编译选项打开:
    {$WARN Unsafe_Type ON}