![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#4
|
|||
|
|||
![]() Цитата:
Вы ПРАВЫ и за это вам респект и большое спасибо. Выше было вот что: Код:
Procedure LocalIPHost; var phe: PHostEnt; Buffer: Pansichar; // array[0..63] of Char; - это работало в Delphi6 ... begin if (WSAStartup($101, GInitData)<>0) then exit; Result := ''; if (GetHostName(Buffer,128)<>0) then exit; phe := GetHostByName(buffer); ... end; Проблема была в типе переменной buffer и вызове 2 функций GetHostName && GetHostByName. Получается я выделял 1 байт памяти на строку для имени компа, понятно что имя получалось подлиннее и происходило наложение на следующие участки памяти полученного имени компа. Глюк вылез именно после перехода на RAD2009. Глюк,к сожалению, у меня ![]() Рабочее решение для моей ситуации следующее: Код:
var phe: PHostEnt; Buffer: array[0..63] of Char; begin if (GetHostName(@Buffer,sizeof(buffer))<>0) then exit; phe := GetHostByName(@buffer); end; |