Pobranie nazwy hosta - raz działa, a raz nie

0

Środowisko: C++ XE5
Mam taki ciekawy problem. Otóż postanowiłem przywrócić do życia jeden ze swoich starszych programów napisany jeszcze BCB 6. Wczytałem projekt do XE5 i całość sobie ładnie działa. Program się kompiluje, uzyskuje nazwę hosta:
1f335dd691.png
w zmiennej s znajduje się nazwa hosta W540. No i OK. Wpadłem na genialny pomysł przepisania kodu od nowa od razu w XE5, tak aby nie ciągnąć jakichś śmieci z BCB6. No i dochodzimy do problemu, którego nie powinno być. Otóż ta sama część kodu odpowiedzialna za pobranie nazwy hosta teraz nie chce działać:
da8bbc9a57.png
w zmiennej s są same zera. W pliku nagłówkowym podstawiłem dokładnie te same biblioteki co w projekcie z BCB6:
48f43da100.png
Na górze obrazka są biblioteki z BCB6, a na dole zakomentowane biblioteki XE5.
Co robię źle?

0

Teoretycznie nie powinno być takiej szansy (nie powinno się skompilować), ale czy może to być kwestia wielkości znaku? Tzn. wchar i char?

1

Nie zapomniałeś o wywołaniu wcześniej WSAStartup? Np:

WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);

No i na koniec WSACleanup;

0

Dzięki wielkie. Po dodaniu tych 3 linii działa normalnie.
Wcześniej nie miałem tego wpisane i zastanawiam się czemu przechodziło kompilację bez błędu i działało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1