【发布时间】:2013-10-04 07:22:43
【问题描述】:
我有一个用这个原型在一个单元中声明的函数:
function MapFunction(process: THANDLE; func: Pointer; size: Cardinal) : Pointer;
我用这个来称呼它:
stub := MapFunction(proc, remoteStub, 80);
当我编译时,我得到这个停止编译的错误:
[DCC Error] test.pas(22): E2035 实际参数不足
我摆弄了一会儿,然后决定添加更多参数来看看它在想什么。所以我用这个来称呼它:
stub := MapFunction(proc, remoteStub, 80, 1, 1, 1, 1, 1);
然后 DCC 通知我:
[DCC Error] test.pas(22): E2035 实际参数不足
[DCC Error] test.pas(22): E2034 Too many actual parameters
注释掉该行允许单元成功编译。
我只有一个问题:什么?
我还应该提到remoteStub 是一个成员变量,这个函数调用在该类的一个成员中。而且这个特定的方法是一个模板方法。
【问题讨论】:
-
这种情况下的proc是什么?如果 proc 是需要参数的方法,您可能会收到此类消息。
-
@johnny:这也是我的猜测——
proc听起来很可疑。 :-) -
告诉我们
proc和remoteStub是什么。 -
如果 remoteStub 是一个函数,并且您需要将其作为参数(而不是结果)提供,您应该获取其入口点上的指针 - @remoteStub
标签: delphi parameters delphi-2010