application.MessageBox(pchar(string('发现编号为 '+main.t_jhfj['cpspcode']+' 的存货百分比错误。')),'错误');
pchar()是什么意思?在线等

解决方案 »

  1.   

    pchar返回C++方式的字符串指针,很多API调用都需这样进行转换。
    Dephi的string不是字符串,而是字符串对象。
      

  2.   

    pchar作用是将String转换为C语言中char *
      

  3.   

    把pchar后面的string去掉
    pchar实际上是一个指针,详见help
      

  4.   

    pchar():delphi的强制类型转换。
      

  5.   

    屏蔽alt+f4:
    在form1的onclosequery事件中写如下语句:
    procedure Tform1.formclosequery(sender:Tobject;var canclose:boolean);
    begin
    canclose:=false;
    end;
      

  6.   

    我想做两个listbox,并且设置按钮“选择全部数据”,作用是点击“选择全部数据”按钮时可以将第一个listbox内的内容全部选择到第二个listbox里,我的代码如下:for i:=0 to listbox1.Items.Count - 1 do
      listbox2.Items.addobject(listbox1.Items[i],listbox1.Items.Objects[1]);
      listbox1.Items.clear;
      setitem(listbox1,0);
    可是它会出现错误:“list index outof bounds(-1)”
    请问各位高手,怎么解决?
    1、procedure TForm1.Button1Click(Sender: TObject);
    begin
      listbox2.Items.Assign(listbox1.Items );
    end;
    2、for i:=0 to listbox1.Items.Count - 1 do
      listbox2.Items.addobject(listbox1.Items[i],listbox1.Items.Objects[1]);
    listbox1.Items.clear;  // 你这儿都给清了,下面在指定ItemIndex肯定越界了
      //setitem(listbox1,0);3、assign会冲掉以前的
      for i:= Listbox1.items.count - 1 downto 0 do
      begin
        Listbox2.items.add(ListBox1.items.Strings[i]);
        //Listbox1.Items.delete[i];//删除listbox1里的项
      end;