问个初级问题,大家包含,新手,没几分给大家(10分)

  • 主题发起人 主题发起人 dongbear
  • 开始时间 开始时间
D

dongbear

Unregistered / Unconfirmed
GUEST, unregistred user!
在做程序的时候,想自己做个函数,调用一下,
所以,声明了一个函数,结果同不过,不知道是哪里除了问题。
我试过,放到public,preative,下都不行。为什么呀。

[Error] Unit1.pas(11): Unsatisfied forward or external declaration: 'TForm1.test'

程序:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
private
procedure test();
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

end.
 
如果放到public,preative中,调用方法是form1.procedureName;
如果放到 var 之上 可以直接调用.
 
我用tform1.test调用,发现还是出现错误,直接用test,好像没问题。
 
type
TForm1 = class(TForm)
private
procedure test();
{ Private declarations }
public
{ Public declarations }
end;
应该改为
type
TForm1 = class(TForm)
private
{ Private declarations }
procedure test();
public
{ Public declarations }
end;
然后在下面实现部分声明
implementation

{$R *.DFM}
procedure Tfrom1.test();
begin
end;

end.
这样要是还编译不过,就把函数的声明部分放到public中,再不过我就倒给你分
 
Hiahia,接受啦,是我笨笨。谢谢各位
 
后退
顶部