以下语法看起来正确,并且编译正确。无界面功能
unit MyAPI;
interface
// function Min(X, Y: Integer): Integer;
// function Max(X, Y: Integer): Integer;
implementation
function Min(X, Y: Integer): Integer;
begin
if X < Y then Min := X else Min := Y;
end;
function Max(X, Y: Integer): Integer;
begin
if X > Y then Max := X else Max := Y;
end;
end.
我想为50个更多的功能做同样的事情,通常是我建立的动态库的外观函数。这50个函数都有一个小体,只需调用内部代码,然后通过输出DLL将数据转换为C风格的调用。
因为这个原因,我想让写界面部分的经济。
unit MyAPI;
interface
uses Optimizer;
implementation
function Min(X, Y: Integer): Integer;
var
optimizer: TOptimizer;
begin
optimizer := TOptimizer.Create;
Min := optimizer.Min(X,Y);
end; stdcall;
...
end.
这是行不行?我还有什么其他选择?
那么你是说你不想写接口代码?这很好,它只是意味着这些函数在它们定义的单元之外是不可见的。 –
'Min'和'Max'已经在'Math'单元中声明。尽量避免重复RTL实用程序。 –
@LURD - 我猜这是一个展示这个概念的例子。 –