我用messagebox函数,有时候会出现这样的错误invalid  floating  point openation我的messagebox是用函数的方法写的,我看了传值是对的,而且有时候是能运行的,我换成  application.messagebox也不行。(环境是这样的,在控制打印的时候询问是否要打印,)

解决方案 »

  1.   

    可能是MessageBox('','',MB_OK)的第三个参数MB_OK有问题
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);
    begin
      if Application.MessageBox('MessageBox', 'Title', MB_YESNO or MB_ICONQUESTION) = IDYES then
        ShowMessage('YES')
      else
        ShowMessage('NO');
    end;
      

  3.   

    Application.MessageBox('MessageBox', 'Title', MB_YESNO or MB_ICONQUESTION)
      

  4.   

    我一直用Application.messagebox,从来没有出过问题!
      

  5.   

    是啊,用MessageBox还没碰到过你说的情况,应该是其他部分的错
      

  6.   

    我也认为不会是函数的问题
    你的Code有问题的
      

  7.   

    借个地方问一下,messagebox和messagedlg有什么区别吗,怎么使用呵
      

  8.   

    messagebox不会出现这种问题了,messagebox中的参数都要省略的,所以肯定是你的程序有问题了!
      

  9.   

    呵呵!
     invalid  floating  point openation
    错误!
     mm:='你输入的数据不合法!';
     nn:='提示';
     楼主是不是使用了字符串,或资源字符串.
     Application.messagebox(mm,nn,MB_YESNO);
     改为:
     Application.messagebox(Pchar(mm),Pchar(nn),MB_YESNO);
     就可以了,不知道我说的对不对!!!!!!
      

  10.   

    应该是代码问题吧,我用messagedlg试一试有时候也是这样的
      

  11.   

    先用这个试一试,以确定是你的系统问题,还是代码问题:
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      if Application.MessageBox('MessageBox', 'Title', MB_YESNO or MB_ICONQUESTION) = IDYES then
        ShowMessage('YES')
      else
        ShowMessage('NO');
    end;
      

  12.   

    str1:='Are you student?';
    str2:='Information';
    messagebox(handle,pchar(str1),pchar(str),
    MB_OKCANCEL+MB_ICONINFORMATION+MB_DEFBUTTON2);