delphi问题
s:='D:\QQ\qqs\QQ.exe';ShellExecute(Handle,'open',s,nil,nil,SW_SHOWNORMAL);为什么编译不通过?错误...
s:='D:\QQ\qqs\QQ.exe';
ShellExecute(Handle,'open',s,nil,nil,SW_SHOWNORMAL);
为什么编译不通过?
错误信息:
[错误] Unit2.pas(51): Incompatible types: 'String' and 'PAnsiChar'
[致命错误] Project1.dpr(6): Could not compile used unit 'Unit2.pas' 展开
ShellExecute(Handle,'open',s,nil,nil,SW_SHOWNORMAL);
为什么编译不通过?
错误信息:
[错误] Unit2.pas(51): Incompatible types: 'String' and 'PAnsiChar'
[致命错误] Project1.dpr(6): Could not compile used unit 'Unit2.pas' 展开
5个回答
展开全部
[错误] Unit2.pas(51): Incompatible types: 'String' and 'PAnsiChar'
原因:s为字符串参数,还函数要求的是pansichar类型 的参数。
[致命错误] Project1.dpr(6): Could not compile used unit 'Unit2.pas'
原因:由于上述错误导致了这个错误的出现,或者你的其它代码有问题
要调用外部exe,请看下面:
delphi怎样调用外部EXE文件
--------------------------------------------------------------------------------
方法一
uses WinProcs;
……
begin
WinExec(......);
……
end.
和调用Pascal库函数没什么两样。
方法二
用ShellExecute更好,在USES段加入SHELLAPI,使用时如:
执行"c:\myapp\myapp.exe"参数为"-s"
ShellExecute(handle,'open','c:\myapp\myapp.exe','-s','',SW_SHOWNORMAL);
第一个参数为父窗口句柄;
第二个参数为打开方式(OPEN,PRINT两种);
第三个参数为执行文件全路径;
第四个参数为执行文件参数;
第五个参数为执行文件开始运行时的初始目录;
第六个参数为为执行文件运行方式(SW_HIDE,SW_MAXIMIZE,SW_MINIMIZE,
SW_RESTORE,SW_SHOW,SW_SHOWDEFAULT,SW_SHOWMAXIMIZED,SW_SHOWMINIMIZED,
SW_SHOWMINNOACTIVE,SW_SHOWNA,SW_SHOWNOACTIVATE,SW_SHOWNORMAL);
具体请看帮助。另外,如果为字符串参数,其中包含变量或运算的必需用PCHAR()函数。
原因:s为字符串参数,还函数要求的是pansichar类型 的参数。
[致命错误] Project1.dpr(6): Could not compile used unit 'Unit2.pas'
原因:由于上述错误导致了这个错误的出现,或者你的其它代码有问题
要调用外部exe,请看下面:
delphi怎样调用外部EXE文件
--------------------------------------------------------------------------------
方法一
uses WinProcs;
……
begin
WinExec(......);
……
end.
和调用Pascal库函数没什么两样。
方法二
用ShellExecute更好,在USES段加入SHELLAPI,使用时如:
执行"c:\myapp\myapp.exe"参数为"-s"
ShellExecute(handle,'open','c:\myapp\myapp.exe','-s','',SW_SHOWNORMAL);
第一个参数为父窗口句柄;
第二个参数为打开方式(OPEN,PRINT两种);
第三个参数为执行文件全路径;
第四个参数为执行文件参数;
第五个参数为执行文件开始运行时的初始目录;
第六个参数为为执行文件运行方式(SW_HIDE,SW_MAXIMIZE,SW_MINIMIZE,
SW_RESTORE,SW_SHOW,SW_SHOWDEFAULT,SW_SHOWMAXIMIZED,SW_SHOWMINIMIZED,
SW_SHOWMINNOACTIVE,SW_SHOWNA,SW_SHOWNOACTIVATE,SW_SHOWNORMAL);
具体请看帮助。另外,如果为字符串参数,其中包含变量或运算的必需用PCHAR()函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
procedure TForm1.Button1Click(Sender: TObject);
var
s:PWideChar;
begin
s:='D:\QQ\QQ2008\QQ.exe';
ShellExecute(Handle,'open',s,nil,nil,SW_SHOWNORMAL);
end;
var
s:PWideChar;
begin
s:='D:\QQ\QQ2008\QQ.exe';
ShellExecute(Handle,'open',s,nil,nil,SW_SHOWNORMAL);
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ShellExecute(Handle,'open','QQ.exe',nil,pchar('D:\QQ\qqs'),SW_SHOWNORMAL);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s:='D:\QQ\qqs\QQ.exe';
ShellExecute(Handle,'open',PChar(s),nil,nil,SW_SHOWNORMAL);
ShellExecute(Handle,'open',PChar(s),nil,nil,SW_SHOWNORMAL);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
强制转换。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询