![]() |
Wo ist getaddrinfo?
Hallo!
Ich hoffe, dass ihr mir weiterhelfen könnt. Ich stehe vor dem Problem, dass ich eine Internetanwendung basierend auf der ![]() Weiß da jemand mehr? |
Re: Wo ist getaddrinfo?
Hab es jetzt so gelöst, dass ich die Funktion selbst importiere und die benötigten Typen deklariere. Funktioniert nach ersten Tests auch.
Delphi-Quellcode:
uses Windows, WinSock; type PAddrInfo = ^TAddrInfo; TAddrInfo = packed record ai_flags: Integer; ai_family: Integer; ai_socktype: Integer; ai_protocol: Integer; ai_addrlen: LongWord; ai_canonname: Array of Char; ai_addr: PSOCKADDR; ai_next: PAddrInfo; end; function getaddrinfo(const nodename: PChar; const servname : PChar; const hints: PAddrInfo; var res: PAddrInfo): Integer; stdcall; external 'ws2_32.dll' name 'getaddrinfo'; procedure freeaddrinfo(ai: PAddrInfo); stdcall; external 'ws2_32.dll' name 'freeaddrinfo'; implementation ... |
AW: Wo ist getaddrinfo?
Bevor das noch jemand so findet und auf die Idee kommt es benutzen zu wollen...
* Das
Delphi-Quellcode:
ist natürlich falsch und müsste ein PChar PAnsiChar sein.
Array of Char
* Außerdem ist der Code uralt, und seit Unicode (Delphi 2009) müssen die PChar durch PAnsiChar ersetzt werden. OK, eigentlich war das schon immer falsch, da diese Funktion auch vorher bereits explizit als ANSI definiert war. (wie man in der Dokumentation lesen konnte/kann) Ansonsten NICHT selbst machen, sondern siehe addrinfo TAddrInfoA und ![]() addrinfoW TAddrInfoW und ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz