Hallo liebes Forum,
ich habe hier aus dem Forum einen alten Quellcode ausgekramt.
Allerdings lääst diser sich in der heutigen Delphi-Version nicht mehr kompilieren. Ich weiß allerdings auch nicht an welchen Stellen ich hier etwas korrigieren muss um das ganze lauffähig zu bekommen.
Kann mir hier eventuell jemand helfen?
Hier der Code dazu:
Delphi-Quellcode:
function TFrmVTP.DetectHostIP: Boolean;
var
wsdata: TWSAData;
hostname: array[0..255] of char;
hostEnt: PHostEnt;
addr: PChar;
begin
WSAStartup($0101,wsdata);
try
gethostname(hostname,sizeof(hostname));
hostEnt := gethostbyname(hostname);
if Assigned(hostEnt) then
if Assigned(hostEnt^.h_addr_list) then
begin
addr := hostEnt^.h_addr_list^;
if Assigned(addr) then
begin
HostIP := Format('%d.%d.%d.%d',[byte(addr[0]),byte(addr[1]),byte(addr[2]),byte(addr[3])]);
Result := True;
end
else
Result := False;
end
else
Result := False
else
begin
MessageDlg(Format('WinSock Error %d', [WSAGetLastError]),mtError,[mbOK],0);
Result := False;
end;
finally
WSACleanup;
end;
end;
Und die Fehlermeldungen:
Delphi-Quellcode:
E2010 Inkompatible Typen: 'PAnsiChar' und 'array[0..255] of Char'
E2010 Inkompatible Typen: 'PAnsiChar' und 'array[0..255] of Char'
E2010 Inkompatible Typen: 'PWideChar' und 'PAnsiChar'
Die Fhler beziehen sich hier auf die Zeilen 10, 11 und 15.
Vielen Dank schon mal.
gruß