Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IP's anpingen (https://www.delphipraxis.net/39272-ips-anpingen.html)

Klaus01 14. Aug 2009 08:34

Re: IP's anpingen
 
Zitat:

Zitat von Luckie
Kabnn es sein, dass man für den Indy Ping Administratorrechte benötigt?

Wenn das eine Frage ist, ja Indy ping benötigt Adminrechte.
Wenn das keine Frage ist, ist es mir unklar worauf Du dich beziehst.

Grüße
Klaus

Luckie 14. Aug 2009 11:52

Re: IP's anpingen
 
Jupp, war eine Frage. Weil es wäre dann ja der Code vorzuziehen, der keine Administratorenrechte benötigt.

Garfield 2. Okt 2016 21:35

AW: Re: IP's anpingen
 
Zitat:

Zitat von CReber (Beitrag 267054)
Die functions hab ich mir mal irgendwann zu einer Unit zusammengesucht:

Ich habe hier im Moment Lazarus 1.4.2. Da ist diese Unit mit einer kleinen Änderung bei GetComputerList drin. Und bei dieser Function hängt sich mein Programm unter Win10 irgendwann weg. In Scanlevel habe ich immer Entries = 3, aber i geht immer nur von 0 bis 1 und der Inhalt von NetResourceList scheint sich nicht zu ändern.

Garfield 3. Okt 2016 08:22

AW: IP's anpingen
 
Bei Lazarus 1.6 wurden nur die nicht benötigten Units unter uses entfernt.

Delphi-Quellcode:
          List.AddObject(NetResourceList[i].lpRemoteName,
                        Pointer(NetResourceList[i].dwDisplayType));

ergibt die Fehlermeldung

Zitat:

networkfunctions.pas(183,123) Error: Incompatible type for arg no. 2: Got "Pointer", expected "TObject"
.

Deshalb wurde daraus
Delphi-Quellcode:
          List.Add(NetResourceList^[i].lpRemoteName);
                        // Pointer(NetResourceList^[i].dwDisplayType));
und irgendwie scheint sich der Pointer nicht zu bewegen.

Bohrstein 22. Feb 2018 09:17

AW: Re: IP's anpingen
 
Zitat:

Zitat von TeronG (Beitrag 941484)
Dann Poste ich auch mal "mein" Ping.

Funktioniert super, danke. Einzig musste ich die Zeile "GetHostByName" (wegen der Meldung: "inkompatible Typen PAnsiChar und PWideChar") für das aktuelle Delphi (Tokyo) anpassen:

Delphi-Quellcode:
procedure TranslateStringToTInAddr(AIP: string; var AInAddr);
var
  phe: PHostEnt;
  pac: PAnsiChar;
  GInitData: TWSAData;
  s: PAnsiChar; // <-- Variable für die Umwandlung von String nach PansiChar
begin
  WSAStartup($101, GInitData);
  try
    s := PansiChar(AnsiString(AIP)); // <-- Umwandlung
    phe := GetHostByName(s); // <-- kein PChar mehr
    if Assigned(phe) then
    begin
      pac := phe^.h_addr_list^;
      if Assigned(pac) then
      begin
        with TIPAddr(AInAddr).S_un_b do begin
          s_b1 := Byte(pac[0]);
          s_b2 := Byte(pac[1]);
          s_b3 := Byte(pac[2]);
          s_b4 := Byte(pac[3]);
        end;
      end
      else
      begin
        raise Exception.Create('Error getting IP from HostName');
      end;
    end
    else
    begin
      raise Exception.Create('Error getting HostName');
    end;
  except
    FillChar(AInAddr, SizeOf(AInAddr), #0);
  end;
  WSACleanup;
end;

Neutral General 22. Feb 2018 09:19

AW: IP's anpingen
 
Ich habe diesen Thread vor 13 Jahren geöffnet :shock: :roll:

Bernhard Geyer 22. Feb 2018 09:22

AW: IP's anpingen
 
Zitat:

Zitat von Neutral General (Beitrag 1394405)
Ich habe diesen Thread vor 13 Jahren geöffnet :shock: :roll:

Das muss man doch vorhersehen. Sonst wird das nix mit der 100%igen Aufwärtskompatiblität für alle Zeiten ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz