Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

преобразование данных [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 раза больше.


Наверх

Титульная страница Поиск, карта сайта Написать письмо