www.delphi-forum.de/...mitteln_96970,0.html
habe das hier per suche gefunden, allerdings liefert das mir nicht das gewünschte Resultat,
ich bin auf der Suche nach dem Hostnamen und irgendwie habe ich das Gefühl die Funktion liefert mir "lediglich" den DNS eintag...
Ich habe damit Versucht von einem Rechner im Netz den Namen zu erhalten, angenommen der Rechner heißt "xyz" im DNS steht "blubb", dann liefert mir die Funktion "blubb" zurück und nicht "xyz", gibt es da eine möglichkeit, oder habe ich beim testen einen Fehler gemacht ?
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46:
| unit Unit2;
interface
uses Winsock, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, ScktComp;
function IPv4ToNameThread(const IPv4ddn2: String; j: byte): String;
implementation
var WSAData: TWSAData; aus: string; IPv4ddn : string;
procedure IPv4ToName(); var IPv4: in_addr; HostEnt: PHostEnt; begin IPv4.S_addr := inet_addr(PAnsiChar(IPv4ddn)); HostEnt := gethostbyaddr(@IPv4, SizeOf(IPv4), AF_INET); if Assigned(HostEnt) then aus := StrPas(Hostent^.h_name) else aus := ''; end;
function IPv4ToNameThread(const IPv4ddn2: String; j: byte): String; var threadHandle:THandle; test:TThreadFunc; begin IPv4ddn := IPv4ddn2; ThreadHandle := createThread(nil, 0, @IPv4ToName,nil, 0, j); if ThreadHandle <> 0 then CloseHandle(ThreadHandle); end;
initialization WSAStartup($101, WSAData); finalization WSACleanup;
end. |
habe es mir jetzt so zurecht gebaut, nur bekomme ich immer die Meldung:
[Error] Unit2.pas(36): Types of actual and formal var parameters must be identical
und weiß aber nicht wieso... Ich weiß schon was sie heißt, nur weiß ich nicht wo der Fehler liegen soll, egal wo ich nachgesehen habe, habe immer nur das gleiche gefunden...