怎样把一个写好的函数封装起来呢?是写成类还是写成dll??? ( 积分: 20 )

  • 主题发起人 主题发起人 牵手delphi
  • 开始时间 开始时间

牵手delphi

Unregistered / Unconfirmed
GUEST, unregistred user!
若已经写好一个函数,它可以实现一个功能,现在我想把它保存下来,以后用到它的时候可以调用
现在要怎么做呢?
是不是可以写成一个类或者dll之类的,可以说一下要怎么封装吗??
谢谢!希望你们明白我的意思!!
 
若已经写好一个函数,它可以实现一个功能,现在我想把它保存下来,以后用到它的时候可以调用
现在要怎么做呢?
是不是可以写成一个类或者dll之类的,可以说一下要怎么封装吗??
谢谢!希望你们明白我的意思!!
 
如果是一个函数,做成unit文件吧,就是一个pas里面保存,至于要不要dll,一个函数用dll干吗?浪费空间。如果你这个函数还有许多数据成员,那么做成类吧,否则就不要做类了,没数据成员的类是类过渡使用的表现。
 
我也知道不需要做成类,我只是想通过一个例子学习怎样把它做成类??
 
如果只是一个函数,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 
如果要封装成类到DLL,则先要做好接口如:

ISomeThing = interface (IInterface)
['{ED52E264-6683-11D7-B847-001060806216}']
procedure DoSomeThing;
end;


type
TSomeThing = class(TInterfacedObject,ISomeThing)
public
procedure DoSomeThing; virtual;
end;

procedure TSomeThing.DoSomeThing;
begin
// code here...
end;


DLL里导出接口

function SomeThing: ISomeThing;
begin
Result := TSomeThing.create;
end;

exports
SomeThing;


Exe 调用
function SomeThing:ISomeThing ;external 'XXX.dll'; //函数申明

//使用
var A:ISomeThing;
begin
A:=SomeThing;
A.DoSomeThing;
A:=nil;
end;
 
DFW,想做就做.[:D]
//其实放到一个公共单元就行了.
 
楼上说的事com控件的dll把,一般的dll不用做接口吧
 
做成dll,想做就做
 
后退
顶部