请各位高手帮忙:
sss:string;
在Application.messagebox('你应付费用是:'+sss+'元','','')中,提示这样的错误:
[Error] Unit3.pas(632): Incompatible types: 'String' and 'PAnsiChar'
请指点!
谢谢!!

解决方案 »

  1.   

    Application.messagebox(pchar('你应付费用是:'+sss+'元'),'','')
      

  2.   

    这样就可以了:  application.MessageBox(pchar('你应付费用是:'+sss+'元'),'程序提示',mb_ok or mb_iconinformation);
      

  3.   

    试了!没用。
    因为sss是通过inttostr()转变过来了,如用:
    Application.messagebox(pchar('你应付费用是:'+sss+'元'),'','')
    就提示:
    [Error] Unit3.pas(631): Incompatible types: 'Integer' and 'String'
    请继续!
    谢了!!
      

  4.   

    var
      sss:string;
    begin
      Application.messagebox(pchar('你应付费用是:'+sss+'元'),Pchar(''));
    end;建议楼主在使用函数前先看看函数的参数列表..
    Delphi是强类型语言..对类型的检查很严格的..另外..如果没有什么特殊的需要还是用
    ShowMessage( '你应付费用是:'+sss+'元')
      

  5.   

    function TApplication.MessageBox(const Text, Caption: PChar; Flags: Longint): Integer;简单把这个函数的参数说一下..
    Text->对话框显示的文本..PChar类型(和Delphi使用的String类型是不一样的,具体请参阅Object Pascal的相关书籍)
    Caption->对话框的标题..Pchar类型
    Flags->长整型数值..设置对话框的按钮和显示的图标..返回值->跟用户点击的按钮有关..例如如果点击的是OK按钮则返回MB_OK常量..Cancel则返回MB_Cancel常量.....