delphi函数在不同源代码资料中的函数声明
delphi函数在不同源代码文件中的函数声明我想在a文件中声明一批函数,而b、c、d文件中分别实行a文件声明的函
delphi函数在不同源代码文件中的函数声明
我想在a文件中声明一批函数,而b、c、d文件中分别实行a文件声明的函数。可是老是报错说
未能满足的前向声明:
[Pascal Error] CardReaderFunDeclare.pas(13): E2065 Unsatisfied forward or external declaration: 'YKT_Init'
我在uses里面都没问题,文件都包含好了,这是为什么?
[解决办法]不可以这样,在文件的implementation上有声明函数,则在implementation下面必须有函数的实现部分。
如果你是调用dll的函数则例外。
[解决办法]或者你可以这样。
UnitA
procedure a;
implementation
procedure a;
begin
Unitb.a;
end;
/////////////////////
UnitB
procedure a;
implementation
procedure a;
begin
//do something i want;
end;
[解决办法]呵呵,不会啊,用了这么多年,我反倒这点Delphi比C++好
1.每个单元负责自己的功能
2.需要输出的函数列在每个单元上面
3.哪个单元要调用什么功能,直接Use哪个单元即可。
[解决办法]可以。UnitA中将UnitB放在UnitB的implementation下use UnitA,在UnitB中将UnitA放在UnitA的implementation下use UnitB,你试下。
[解决办法]错了,更新如下:
可以。UnitA中将UnitB放在UnitA的implementation下use UnitB,在UnitB中将UnitA放在UnitB的implementation下use UnitA,你试下。
[解决办法]这一点我也觉得不爽,特殊情况下,确实只想在一个单元里定义函数,而实现部分可能分布在其他几个单元中,
暂时的方法是:
把实现部分的代码写入一个 *.inc文件中,然后在定义单元implementation后面加上
{$i xxx.inc}