delphi中的showmessage函数是调用的哪个API函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi中的showmessage函数是调用的哪个API函数相关的知识,希望对你有一定的参考价值。
如题,请说详细点儿!!
ShowMessage并不是调用的API而是Delphi自己的VCL类库ShowMessage函数在Dialogs单元里面VCL的函数声明是procedure ShowMessage(const Msg: string);begin
ShowMessagePos(Msg, -1, -1);
end;只是调用了VCL类库的ShowMessagePos函数而已 参考技术A SHOWMESSAGE是用的VCL中的自定义函数。不是用的APIapplication的messagebox倒是用的API函数。。。如果你要一个自己的对话框,你可以设计一个窗体代替了。。。只要是模态显示就行
[Delphi]过程Procedure动态调用
过程也可以像通用变量一样声明、调用
procedure HelloWorld;
begin
ShowMessage(‘HI‘);
end;
procedure HelloWorld2(a:String);
begin
ShowMessage(‘HI‘);
end;
procedure TFormSplash.FormCreate(Sender: TObject);
var
myproc:Procedure;
myproc2:Procedure(a:String);
begin
myProc:=HelloWorld;
if Assigned(myProc) then myProc;
myproc2:= HelloWorld2;
if Assigned(myproc2) then myproc2(‘‘);
也可以这样定义
var
myproc:Procedure=HelloWorld;
myproc2:Procedure(a:String)=HelloWorld2;
参数类型不同或顺序不同会提示
E2009 Incompatible types: ‘Parameter lists differ’
直接赋值 对象中的过程或函数将出错
E2009 Incompatible types: ‘regular procedure and method pointer’
需要在Type里声明类型
type
TMethod =
procedure
of
object
;
TFunc =
function
:
integer
of
object
;
TNotifyEvent =
procedure
(Sender: TObject)
of
object
;
以上是关于delphi中的showmessage函数是调用的哪个API函数的主要内容,如果未能解决你的问题,请参考以下文章
delphi里application.MessageBox()与showmessage()有啥区别?