delphi问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi问题相关的知识,希望对你有一定的参考价值。
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'
原因: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()函数。 参考技术B procedure TForm1.Button1Click(Sender: TObject);
var
s:PWideChar;
begin
s:='D:\QQ\QQ2008\QQ.exe';
ShellExecute(Handle,'open',s,nil,nil,SW_SHOWNORMAL);
end; 参考技术C ShellExecute(Handle,'open','QQ.exe',nil,pchar('D:\QQ\qqs'),SW_SHOWNORMAL);本回答被提问者采纳 参考技术D s:='D:\QQ\qqs\QQ.exe';
ShellExecute(Handle,'open',PChar(s),nil,nil,SW_SHOWNORMAL); 第5个回答 2010-05-09 强制转换。。
delphi中adodataset问题
delphi 中,我在adodataset中用sql语句从数据库表中取一个日期型的字段,数据库里的日期字段值都是带时间的,我想用这个dataset取出不带时间的日期值,就取前10位,我在dataset中的sql要怎么写呢?
Select convert(char(10),getdate(),112) as date这样显示出来的字符型的。 参考技术A 就是这个 参考技术B 的看你是用的什么数据库,如果是accses convert就不能用了
以上是关于delphi问题的主要内容,如果未能解决你的问题,请参考以下文章