unit PubUnit;
interface
uses Windows, Dialogs, SysUtils, Classes, Forms, IniFiles;
function a:boolean;
procedure b;
implementation
function a:boolean;
begin
result:=true;
end;
procedure b;
begin
.....
end;
1.在你的FuncUnit单元中创建一个类,比如名称叫TFuncLib
2.所有的函数和过程写成类方法,即前面用class修饰的方法,比如
class Function FuncA(AValue: Integer): Boolean;
3.在单元的实施部分写上类方法的实现代码。
这类似C#中的静态方法。
这样:
unit FuncUnit;
interface
uses
Windows, Dialogs, SysUtils, Classes, Forms, IniFiles;
Procedure CalcA(N1:String;N2ouble);
Function CalcB(M1ouble;M2ouble)ouble;
implementation
uses math;
fuction funcC;
begin
.......
end;
Procedure CalcA(N1:String;N2ouble);
begin
funcC;
end;
Function CalcB(M1ouble;M2ouble)ouble;
begin
........
end;
如果有funcC,但不想在其它单元中看到,只是本单元内部用,就像上面一样,不必放函数头在interface部分,而calcA,calcB其它单元要用,就要放函数头在interface后。
to muhx:
>>Delphi还支持全局变量
这样不算全局的,不引用此单元就看不到,所以具有很好的封装性。不一定用个变量函数就要用类。
private和public是类的成员,如果是定义在单元里面,只分interface部分和implementation部分,一般在interface部分声明的函数外部单元都能访问,所以,你在interface部分声明函数,implementation部分实现函数就可以了.给你一个非常简单的单元例子:
unit FuncUnit;
interface
function OtherUnitCanSee: Boolean;
implementation
function OtherUnitCanSee: Boolean;
begin
///
end;
function OtherUnitCannotSee: Boolean;
begin
//
end;
TO zqw0117:
谢谢你。你的意思我明白。
只是,我需要实现在一个公共的函数单元里有若干供全局调用的函数或过程(这些过程或函数的定义如你所说)。
另有一些过程或函数,不需要供全局调用,而只是供该公共函数单元里这些全局的函数或过程所调用。这些过程或者函数,是定义在private还是public里呢?