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'

参考技术A [错误] 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()函数。
参考技术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问题的主要内容,如果未能解决你的问题,请参考以下文章

delphi程序问题

delphi开源问题编译

delphi 换版本乱码 问题

delphi 重载问题

delphi问题

Delphi问题