定义过程时出现如内问题,请前辈指点 ( 积分: 50 )

  • 主题发起人 主题发起人 copyyour
  • 开始时间 开始时间
C

copyyour

Unregistered / Unconfirmed
GUEST, unregistred user!
Unsatisfied forward or external declaration: 'TForm1.GetTcpUdpInfo'
我在定义过程GetTcpUdpInfo的时候,编译时出现上面的错误,请问是怎么回事呢?
 
Unsatisfied forward or external declaration: 'TForm1.GetTcpUdpInfo'
我在定义过程GetTcpUdpInfo的时候,编译时出现上面的错误,请问是怎么回事呢?
 
Unsatisfied forward or external declaration: 'TForm1.GetTcpUdpInfo'
我在定义过程GetTcpUdpInfo的时候,编译时出现上面的错误,请问是怎么回事呢?

public

{ Public declarations }
procedure GetTcpUdpInfo
//Get the tcp/udp info

定义的过程如下,有省略
procedure TForm1.GetTcpUdpInfo()
//Get the tcp/udp info
var
TcpInfoTable, UdpInfoTable: TTcpInfo;
hTrapEvent: THandle;
hIdentifier, Oid: TAsnObjectIdentifier;
VarBindList: TSnmpVarBindList;
VarBind: TSnmpVarBind;
errorStatus, errorIndex: TAsnInteger32;
currentEntry, newEntry: PTcpInfo;
currentIndex: UINT;
localaddr, localport, remoteaddr,remoteport: string;
begin
Application.ProcessMessages;
if not SnmpExtensionInit(GetTickCount, @hTrapEvent, @hIdentifier) then Exit;
{ TCP connections }
FillChar(Oid, SizeOf(Oid), 0);
FillChar(VarBindList, SizeOf(VarBindList), 0);
FillChar(VarBind, SizeOf(VarBind), 0);
.......
 
public

{ Public declarations }
procedure GetTcpUdpInfo

你这个public是哪个类的?是TForm1的吗?
 
你的函数声明不在类的声明区域内。
也就是缺少一个end
哈哈
 
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure GetTcpUdpInfo(... ...)
// 根據你的過程聲明放到這裡
private
{ Private declarations }
public
{ Public declarations }
end;
 
procedure TForm1.GetTcpUdpInfo()
//Get the tcp/udp info

这句改为:

procedure GetTcpUdpInfo()
//Get the tcp/udp info
 
这个错误是声明是实现的函数的参数或都名称不一样造成的,看你又没有虚方法,
感觉你的实现部分用procedure TForm1.GetTcpUdpInfo();多了一个括号。在PASCALL中不用括号的。在C中要用。不然看你的语言结构都没错啊。要不就是你里面看有没有定义什么变量跟过程同名导致认不到函数。
OK
 
同意bbscom的意见

普通的过程这样是没有错的
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部