不兼容的类型pwidechar和字符串ShellExecute

时间:2016-05-09 09:38:17

标签: delphi delphi-xe7 shellexecute

我尝试使用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;

1 个答案:

答案 0 :(得分:5)

$('#myForm').submit(function(){ $.ajax({ url: ROOT_URL + 'account/send', type: "post", dataType: "text" }).done(function(data) { $('#accounts-container').html(data); }); });的文字参数属于ShellExecute类型。但是你为参数4提供了一个字符串。

错误信息非常清楚。您可以通过检查PChar的声明来了解有问题的参数是ShellExecute类型(PChar的别名)。并且错误消息告诉您正在传递PWideChar

而不是

string

'a -r -ta'+ PChar(sdate) +' D:\xlsFiles.rar D:\*.xls*'