//release should only be called from the main thread\r
tdnswinasync=class(tthread)\r
private\r
- ipv6preffered : boolean;\r
freverse : boolean;\r
error : integer;\r
freewhendone : boolean;\r
public\r
onrequestdone:tsocketevent;\r
name : string;\r
- ip : tbinip;\r
+ iplist : tbiniplist;\r
\r
- procedure forwardlookup(name:string;ipv6preffered:boolean);\r
+ procedure forwardlookup(name:string);\r
procedure reverselookup(ip:tbinip);\r
destructor destroy; override;\r
procedure release;\r
end;\r
end;\r
\r
-procedure tdnswinasync.forwardlookup(name:string;ipv6preffered:boolean);\r
+procedure tdnswinasync.forwardlookup(name:string);\r
begin\r
self.name := name;\r
- self.ipv6preffered := ipv6preffered;\r
freverse := false;\r
resume;\r
end;\r
procedure tdnswinasync.reverselookup(ip:tbinip);\r
begin\r
- self.ip := ip;\r
+ iplist := biniplist_new;\r
+ biniplist_add(iplist,ip);\r
freverse := true;\r
resume;\r
end;\r
procedure tdnswinasync.execute;\r
var\r
error : integer;\r
- l:tbiniplist;\r
+\r
begin\r
error := 0;\r
if reverse then begin\r
- name := winreverselookup(ip,error);\r
+ name := winreverselookup(biniplist_get(iplist,0),error);\r
end else begin\r
- l := winforwardlookuplist(name,0,error);\r
- ip := biniplist_get(l,0);\r
+ iplist := winforwardlookuplist(name,0,error);\r
+\r
end;\r
postmessage(hwnddnswin,wm_user,error,taddrint(self));\r
end;\r