Cmd String到delphi中的PAnsiChar

时间:2015-03-28 16:05:24

标签: string delphi delphi-7

我对Delphi比较陌生,我想快速申请使用ShellExecute命令。

我想在编辑框中使用字符串值添加到命令行,以便在应用程序之外执行处理作业。

一切正常,但我收到错误:

  

"不兼容的类型:String和PAnsiChar"

我尝试使用以下方法进行转换: Variable := PAnsiChar(AnsiString(editbox.Text),但无济于事。

请有人帮我解决这个问题。

2 个答案:

答案 0 :(得分:4)

在Delphi 7中,它是PChar的简单类型转换,已经是PAnsiChar

PChar(YourStringVariable);

PChar('Some text here');  // Cast not needed; demonstration only
PChar('C:\' + AFileName); // Cast needed because of variable use

将其与ShellExecute

一起使用
AFile := 'C:\MyDir\Readme.txt';
Res :=   ShellExecute(0, 'open', PChar(AFile),
                      nil, nil, SW_NORMAL )

答案 1 :(得分:2)

如果无法编译它怎么能正常工作?

你发布的代码太少,无法确定是什么问题,但你肯定有太多的类型转换。 AnsiChar是只能存储单个字符的类型,在这里没有任何意义。

如果VariablePAnsiChar,那么您应该使用:

Variable := PAnsiChar(editbox.Text)