![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
преобразование данных [D7, WinXP]
freshman © (2005-09-19 15:17:00)Добрый день, уважаемые мастера!
такая проблемка: делаю преобразование BinToHex
......
var
i: integer;
M: array of Byte;
Hex: string;
begin
SetLength(M, 16);
for i:=0 to 15 do M[i]:= i;
SetLength(Hex, length(M)*2);
BinToHex(PChar(M), Hex, length(M)*2);
end;
но когда я потом пытаюсь обратиться к Hex (например, showmessage(Hex) ) - выскакивает access violation...
Maverick (2005-09-19 16:17:00) [1]сорри, за беспокойство. только что отписал этот код в новом проекте- все ок. значит ошибка в другом, буду искать...
Германн (2005-09-19 16:06:00) [2]Что-то ты темнишь!
Приведи весь код, что-бы с ShowMessage было.
Maverick (2005-09-19 16:04:00) [3]дык и должно быть нормально, я вообще в непонятках.
evaluate показывает hex..но люое обращение к этой переменной генерит ошибку access violation
Германн (2005-09-19 15:59:00) [4]А у меня все нормально.
Maverick (2005-09-19 15:48:00) [5]но когда я пишу showmessage(Hex) вылезает ошибка, да собсно при любом оращании к Hex возникает ошибка
Германн (2005-09-19 15:46:00) [6]
> BinToHex(PChar(M), PChar(Hex), length(M));
По-моему так.
Maverick (2005-09-19 15:42:00) [7]что то все равно не пойму, если не трудно, напишите как должно быть, плз.
Германн (2005-09-19 15:34:00) [8]2 Maverick © (19.09.05 15:32) [2]
Ты не понял хелп.
Германн (2005-09-19 15:33:00) [9]Да и Hex должен быть PChar'ом.
Maverick (2005-09-19 15:32:00) [10]дык так и должно быть:
"BufSize is the size of Buffer. Text needs to point to a sequence of characters that has at least 2*BufSize bytes because each hexadecimal character represents two bytes"
Суслик (2005-09-19 15:22:00) [11]кусок из доки по bintohex
BufSize is the size of Buffer.
У тебя он в 2 раза больше.