K.M*_*MuS 2 delphi shellexecute delphi-xe7
我尝试使用winrar命令行压缩文件,但是当我在命令行中添加变量时,我得到这些错误
不兼容的类型'PWideChar'和'string'!
我将sdate变量转换为WideChar,但它不起作用!!
我怎么解决它!
procedure TForm1.Button1Click(Sender: TObject);
var
mydate : TDateTime;
sdate : string;
begin
mydate:= Now-7;
sdate := FormatDateTime('YYYY/mm/dd',mydate);
ShellExecute(0, 'open', PChar('C:\Program Files\WinRAR\WinRar.exe'),
'a -r -ta'+ PChar(sdate) +' D:\xlsFiles.rar D:\*.xls*', nil, SW_SHOW);
end;
Run Code Online (Sandbox Code Playgroud)
文本参数ShellExecute是类型的PChar.但是你为参数4提供了一个字符串.
错误消息非常清楚.你知道通过检查ShellExecute有问题的参数是类型PChar(别名PWideChar)的声明.并且错误消息告诉您正在通过string.
代替
'a -r -ta'+ PChar(sdate) +' D:\xlsFiles.rar D:\*.xls*'
Run Code Online (Sandbox Code Playgroud)
通过
PChar('a -r -ta'+ sdate +' D:\xlsFiles.rar D:\*.xls*')
Run Code Online (Sandbox Code Playgroud)