Tom*_*Tom 3 delphi dll stdcall dllexport
我制作了一个导出多个函数的 DLL(使用 stdcall)。我想让他们中的一些人接受或不接受参数。所以懒惰的程序员可以不带任何参数调用它。我在论坛上的某个地方读到默认参数在 DLL-s 中不起作用。我唯一的选择是创建 2 个具有不同名称的函数,例如:
procedure DoSomething();
begin
DoSomethingParams(1, 'Hi');
end;
procedure DoSomethingParams(one: Integer; two: PChar);
begin
//
end;
Run Code Online (Sandbox Code Playgroud)
? 或者也许有更优雅的方式来实现这一目标?
默认参数可用于 DLL。但是必须在导入函数时声明默认参数,而不是在导出函数时声明。那是因为默认参数是在调用站点实现的。调用者检测到缺少参数并生成代码来提供缺少的参数。
因此,您可以在导入 DLL 时使用默认参数,前提是使用 DLL 的语言支持该参数。
由于 DLL 通常用于提供与语言无关的接口,并且由于某些语言不支持默认参数,因此很少在 DLL 接口中使用它们。
| 归档时间: |
|
| 查看次数: |
1311 次 |
| 最近记录: |