我对Delphi比较陌生,我想快速申请使用ShellExecute
命令。
我想在编辑框中使用字符串值添加到命令行,以便在应用程序之外执行处理作业。
一切正常,但我收到错误:
"不兼容的类型:String和PAnsiChar"
我尝试使用以下方法进行转换:
Variable := PAnsiChar(AnsiString(editbox.Text)
,但无济于事。
请有人帮我解决这个问题。
答案 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
是只能存储单个字符的类型,在这里没有任何意义。
如果Variable
为PAnsiChar
,那么您应该使用:
Variable := PAnsiChar(editbox.Text)