需要在FireMonkey3下检测本地IP地址。在VCL版本中,我一直在使用 WinSock 单元及其方法
WSAStartup(...)
gethostname(...)
一个限制:不需要使用任何第三方库。我正在将ASTA组件移植到FireMonkey3平台,并且不希望在组件之间进行依赖。
答案 0 :(得分:9)
如果您需要跨平台解决方案,请尝试使用Indy和TIdStack.AddLocalAddressesToList
单元中包含的IdStack
方法
试试这个样本
var
AAddresses: TStrings;
begin
AAddresses := TStringList.Create;
try
TIdStack.IncUsage;
try
GStack.AddLocalAddressesToList(AAddresses);
finally
TIdStack.DecUsage;
end;
if AAddresses.Count > 0 then
//do something
finally
AAddresses.Free;
end;
end;