Цитата:
Сообщение от BBBCat
К сожалению у меня Delphi 7, но по логике получается, что что-то происходит на месте многоточия
Код:
Function InitApplication:boolean;
begin
...
Main.CB.Items.Clear; //Tcombobox на главной форме проекта...
Что там такого страшного?
|
Вы ПРАВЫ и за это вам респект и большое спасибо.
Выше было вот что:
Код:
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;