Thema: Delphi Inkompatible Typen

Einzelnen Beitrag anzeigen

lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#1

Inkompatible Typen

  Alt 30. Jul 2020, 09:20
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ß
  Mit Zitat antworten Zitat