小弟初学,现遇到如下问题,急盼解决procedure TYgglForm.BitBtn3Click(Sender: TObject);
var
    str1, str2 :string;
begin
    str1 := ADOQuery1.FieldValues['name'];
    str2 := '确定删除' + str1 + '吗?';
    if (Application.Messagebox('', '提示',MB_ICONQUESTION+MB_OKCANCEL) = 1) then   //此行报错
    begin
        ADOQuery1.Delete;
    end;
end;
请各位兄弟,如何解决,谢谢

解决方案 »

  1.   

    if (Application.Messagebox('', '提示',MB_ICONQUESTION+MB_OKCANCEL) = 1) then   
    是if (Application.Messagebox(str2, '提示',MB_ICONQUESTION+MB_OKCANCEL) = 1) then   //此行报错
      

  2.   

    单看 (Application.Messagebox('', '提示',MB_ICONQUESTION+MB_OKCANCEL) = 1)
    这句没有错误
    可能是你其他地方出错了
    例如:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if (Application.Messagebox('', '提示',MB_ICONQUESTION+MB_OKCANCEL) = 1) then begin
      ShowMessage('');
    end;
    end;
      

  3.   

    MessageBox后的第一个参数如上为str2,
    另外最好把格式转换一下:改为str1:=query.fieldbyname('name').asstring;
      

  4.   

    好象还不行。具体报错为:incompatible types: 'String' and 'PAnsiChar'
      

  5.   

    MessageBox的参数是PAnsiChar指针,所以这里转换成指针就行了。if (Application.Messagebox(pChar(str2), '提示',MB_ICONQUESTION+MB_OKCANCEL) = 1)  then