急~帮我看看这个函数

dancebird 2000-08-31 10:47:00
我要实现获取本机拨号网络IP地址,在大富翁论坛找到了这个函数,但是我在implementation后加上了这个函数后,在编译的时候提示

[Error] Unit1.pas(41): Undeclared identifier: 'PInAddr'
[Error] Unit1.pas(44): Undeclared identifier: 'PHostEnt'
[Error] Unit1.pas(48): Undeclared identifier: 'TWSADATA'
[Error] Unit1.pas(51): Undeclared identifier: 'WSAStartup'
[Error] Unit1.pas(53): Undeclared identifier: 'GetHostName'
[Error] Unit1.pas(54): Undeclared identifier: 'GetHostByName'
[Error] Unit1.pas(55): Operator not applicable to this operand type
[Error] Unit1.pas(56): Pointer type required
请教到底是什么问题?

function GetIP : string;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array [0..63] of char;
I : Integer;
GInitData : TWSADATA;

begin
WSAStartup($101, GInitData);
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then Exit;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;

...全文
217 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
playpcgame 2000-08-31
  • 打赏
  • 举报
回复
给我加分哦!Tine
Tine 2000-08-31
  • 打赏
  • 举报
回复
playpcgame说的对,加入此单元就可以解决问题
midman 2000-08-31
  • 打赏
  • 举报
回复
加入winsock
bbslucky 2000-08-31
  • 打赏
  • 举报
回复
自编函数,向作者索取相关单元文件
playpcgame 2000-08-31
  • 打赏
  • 举报
回复
在uses中增加winsock就可以了
aiirii 2000-08-31
  • 打赏
  • 举报
回复
可能要加上user winsock;
sinsky 2000-08-31
  • 打赏
  • 举报
回复
uses WinSock;
netsong 2000-08-31
  • 打赏
  • 举报
回复
这些函数都是winsock中的,在uses中加入winsock就行了,呵呵

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧