Delphi, Wie man alle lokalen IPs?
Jeder weiß eine Möglichkeit in delphi erhalten, eine einfache Liste (z.B. tstrings) der lokalen ip-Adresse.
Ich habe einen Blick auf die andere Frage, und kann nicht scheinen, um meinen Kopf herum konvertieren zu delphi.
- Würde es helfen, wenn Sie würde link zu den Lösungen arbeiten bereits. Sie sind sich nicht zu Fragen, wie man eine Liste von IP-Adressen; Sie Fragen sich, wie zu konvertieren anderen code Delphi. So zeigen Sie den original-code.
- Es ist schwierig, am besten... hängt davon ab, welche Betriebssysteme der code funktionieren sollte... es ist wohl Pufferüberlauf/crash-anfällig. Zum Glück späteren os-es von windows die haben wenigstens bessere apis/support für diese.
Du musst angemeldet sein, um einen Kommentar abzugeben.
in indy 9, es ist eine Einheit IdStack mit der Klasse TIdStack
funktioniert Super 🙂
von Remy Lebeau ' s Kommentar
TStringList
undTStrings
- ich bin immerAbstract Error
nur beim AufrufAddLocalAddressesToList(L);
procedure AddLocalAddressesToList(AAddresses: TStrings); virtual; abstract;
abstract
imTIdStack
, die Implementierung in abgeleiteten Klassen). Sie sollen nicht instanziierenTIdStack
direkt. Die statischeTIdStack.IncUsage()
Methode erstellt die entsprechende Instanz, wenn erforderlich, und weist der globalenGStack
variable auf es zu deuten. Die meisten Zugang zuTIdStack
getan werden muss, um durch dieGStack
variable.Wenn Sie ICS verwenden für die socket-Kommunikation, die Sie verwenden können, LocalIPList Funktion, definiert in der OverbyteIcsWSocket Einheit.
Selbst wenn Sie es nicht verwenden, können Sie den Quellcode herunterladen und schauen bei der Umsetzung. Es verwendet die WinSock-intern.
Die Jedi Code Library enthält ein Verfahren
in der Einheit JclSysInfo
Kann es auch mithilfe von WinApi (notwendigen Header sind in den Jedi-ApiLib). Dies ist, wie ich es in meinem TSAdminEx Anwendung:
Aus der Delphi 7-Indy 9 Quelle finde ich etwas, dass das problem mit
GStack
. Es ist ein bisschen anders von vorherigen post.Ich denke, dass das arbeiten mit Indy 10 zu.