Форум: "Начинающим";
Текущий архив: 2017.03.19;
Скачать: [xml.tar.bz2];
ВнизНе пойму в чем проблема Array and Char Найти похожие ветки
← →
Wadimkas (2015-07-13 17:30) [0]Есть функция
function GetSystemUserName: string;
var // Получить имя пользователя машины
UserName: array[0..255] of Char;
UserNameSize: DWORD;
begin
UserNameSize := 255;
if Windows.GetUserName(@UserName, UserNameSize) then
Result := string(UserName)
else
Result := "";
end;
В нескольких моих прогах, все работает,
в одной не компилится, ошибка на @UserName что она array and Char
так прикол в том, что загружаю те проекты где они используются, все норм компилится.
← →
кгшзх © (2015-07-13 17:47) [1]
function GetSystemUserName : Ansistring;
var UserNameSize: Cardinal;
begin
Result := "";
UserNameSize := 0;
if not GetUserName(nil, UserNameSize) and (GetLastError = ERROR_INSUFFICIENT_BUFFER) then
begin
SetLength(Result, UserNameSize);
GetUserName(PAnsiChar(Result), UserNameSize);
end;
end;
← →
Wadimkas (2015-07-13 17:54) [2]Благодарствую, вот только прикола не понял, в одной компилится а в другой нет?
но там где компилится все работает!
← →
кгшзх © (2015-07-13 18:37) [3]там где не компилится - там юзез другой.
← →
sniknik © (2015-07-13 18:39) [4]дельфя то какая? может с юникодом связано/где то путаница... попробуй везде явно тип ставить/вызывать ансишную функцию -
function GetSystemUserName: AnsiString;
var // Получить имя пользователя машины
UserName: array[0..255] of AnsiChar;
UserNameSize: DWORD;
begin
UserNameSize := 255;
if Windows.GetUserNameA(@UserName, UserNameSize) then
Result := UserName
else
Result := "";
end;
← →
Wadimkas (2015-07-13 18:44) [5]Delphi 7
Ругаецо именно на @UserName, а она в var`e UserName: array[0..255] of AnsiChar;
← →
Wadimkas (2015-07-13 18:45) [6]сории Char;
← →
Wadimkas (2015-07-13 18:46) [7]ну ругается она не в типе, а то что хочет char, а я типа ей даю array
← →
кгшзх © (2015-07-13 19:00) [8]для начала посмотри что хочет первым параметром GetUserName.
и что даешь ей ты.
← →
кгшзх © (2015-07-13 19:08) [9]пофик какая делфи (с анси вариантом).
либо юзез, либо пересечение одноименных идентификаторов
либо здесь приведен один код, а реально некомпилится совсем другой.
← →
кгшзх © (2015-07-13 19:14) [10]Ругаецо именно на @UserName
Там где ругаетсо - там есть еще один идентификатор UserName.
← →
Wadimkas (2015-07-13 19:14) [11]код даже не копирывался, копирывал весь unit в другой проект
← →
кгшзх © (2015-07-13 19:17) [12]все варианты в чем причина тебе уже рассказали.
а ты настаиваешь на влиянии волшебства и магии.
← →
sniknik © (2015-07-13 20:11) [13]> ну ругается она не в типе, а то что хочет char, а я типа ей даю array
ты ей даешь не array, а указатель, который в принципе автоконвертируется в нужное в функции PAnsiChar (то что в [4]), ну блин для полной гарантии можно явно переопределить -
Windows.GetUserNameA(PAnsiChar(@UserName), UserNameSize)
хотя, то что у тебя продолжает требовать именно char, а не pchar (как в генофонде), явно указывает, что функция переопределена.
> все варианты в чем причина
+
переопределен тип char/... либо сам, либо в подключаемом модуле
← →
sniknik © (2015-07-13 20:13) [14]++
кстати, приведи точный текст ошибки. не "что то вроде", а конкретно... если трудно по буквам перерисуй. или скрин сделай.
← →
Wadimkas (2015-07-13 20:14) [15])))да я не спорю, твой код помог
но его я заменил только в юните скопированном
то что все рассказали, не то все
UserName - локальная переменка, чисто в этой функции и ссылается на массив @UserName
который char
← →
кгшзх © (2015-07-13 20:29) [16]при чем здесь код, который помог?
речь об источнике ошибки.
возможные причины тебе назвали.
но тебе пофик, и ты продолжаешь читать мантру "ну как это так, ничего не менял, просто скопировал и не компилируется"
причины тебе назвали, а ты талдычишь, у меня все окей, у меня юзернэйм - это локальный массив. это виноваты демоны.
не надо убеждать форум, что у тебя завелся полтергейст, в то время как у тебя детская ошибка в коде
← →
Wadimkas (2015-07-13 20:39) [17]))))
ладно замяли тему, мне она уже не интересна
полтергейст не там
← →
Игорь Шевченко © (2015-07-13 22:44) [18]http://segfault.kiev.ua/smart-questions-ru.html
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2017.03.19;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.001 c