procedure TArchives_frm.FormShow(Sender: TObject);
var
  str,str1 : string ;
  NewItem : TComBoExItem;
begin
  CoBmMc.ItemsEx.Clear ;
  with Data_frm.ArcDataQuBm do
    begin
      Sql.Clear ;
      Sql.Add('Select BM_Id,BM_MC from BM');
      open;
      if isEmpty = false then  //如果有数据
        begin
          First;
          While not Eof do
            begin
              NewItem         := co1.ItemsEx.add;
              NewItem.caption := FieldByName('Bm_MC').AsString ;         
              NewItem.Data    := Pchar(FieldByName('bm_Id').AsString ); 
              showmessage(Pchar(NewItem.data));   //运行到这里显示值是正确的
              Next ;
            end;
          showmessage(Pchar(Co1.ItemsEx[0].data));  //这里显示的值完全不对,与上面相差很大,简直就是驴唇不对马嘴!
        end;
    end;
end;