===stdcall的用法?===(30分)

C

coolsun

Unregistered / Unconfirmed
GUEST, unregistred user!
TMsgFuncTrans = function(TransCode: string; RecvStr: string; RecvLen: Integer; ConnectModule: TConnectModule;NodeClass: TXMLDocument;SocketConnect: TServerClientWinSocket; LocalDbConnection: TAdoConnection): TMsgTransClass; stdcall;
这样一段代码,我有几个问题:
1。既然这是一个Function,那它的返回应该是一个值,为什么末尾是一个TMsgTransClass? 也就是说TMsgFuncTrans=function(, , ,):TMsgTransClass 这样的写法是什么意思,可以不返回String啊,Integer啊这些类型吗?
2。末尾的stdcall是什么意思?用什么作用?
3。function所包含的元素里面有这么一句:ConnectModule: TConnectModule,我想知道TConnectModule是个什么东西,好像不是delphi的组件啊
 
stdcall是Windows API的调用方式.
 
但是TMsgFuncTrans 是我自己定义的一个方法啊,怎么和windows api调用挂上勾了呢?它调用了什么api?请您说的再详细些,谢谢 bow
 
1。返回值就是一个TMsgTransClass类型的值,这个值是一个指针。
2。这是指定调用约定,有register, pascal, cdecl, stdcall, and safecall.此时参数以从右到左的顺序传递。
3。TConnectModule象是个TDataModule。
 
晕!你自己定义的方法你都不知道参数类型是什么???[:(]
 
多人接受答案了。
 

Similar threads

顶部