unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ShellAPI,StrUtils;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
Button2: TButton;
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
var
s:string;
begin
if OpenDialog1.Execute then
begin
s:=OpenDialog1.FileName;
end;
//处理文件路径中带问号,逗号
s:=AnsiReplaceText(s,'?','"?"');//问号
s:=AnsiReplaceText(s,',','","');//逗号
s:=AnsiReplaceText(s,',','","');//逗号
s:='"'+s+'"';//处理带空格的情况
ShellExecute(0, 'open', 'AcroRd32.exe', PChar(s), '', SW_SHOWMAXIMIZED);
end;
end.
为什么程序运行之后会出现下面的错误?