Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.21;
Скачать: CL | DM;

Вниз

Пчему падает приложение при вызове BinToHex()   Найти похожие ветки 

 
AIRDIGER   (2009-04-17 04:47) [0]

Причем при правильном вызове... неважно где ,, но при завершении приложения всегда вываливается кретическая ошибка и просьба отправить отчет.... при чем раньше такого небыло.. и рабочий код перестал работать причем все приложениях где эта функция используется завершаются критически... Я думаю что после обновления антивируса Касперского..это стало происходить..


 
AIRDIGER   (2009-04-17 04:50) [1]

вот например даже посе такого вызова

function RandomHex(L: DWORD): String;
Var dw: DWORD;
   buf: array of Byte;
begin
 if L = 0 then Exit;
 Randomize;
 SetLength(buf,L);
 for dw:=0 to Pred(L) do buf[dw]:=Random(256);
 SetLength(Result,L*2);
 BinToHex(Pointer(buf),@Result[1],L*2);
end;


 
Servy ©   (2009-04-17 05:14) [2]

Из справки:

procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);

...

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.


В твоем примере BufSize равен L*2, что неверно (массив у тебя длиной всего лишь в L байт, а не в L*2, и места в Result у тебя только для символьного представления L символов хватит, а никак не L*2).

Рекомендую почаще читать справку и не писать код в пятом часу утра ^_^


 
Servy ©   (2009-04-17 05:15) [3]

> и места в Result у тебя только для символьного представления
> L символов хватит, а никак не L*2

имелось в виду:

и места в Result у тебя только для символьного представления L байт хватит, а никак не L*2


 
AIRDIGER   (2009-04-17 05:42) [4]

Мда это все копипест долбанный .... а еще общие модули для все проектов...


 
AIRDIGER   (2009-04-17 05:46) [5]


> и не писать код в пятом часу утра ^_^


жизнь така ... ака жестокое насилие над моZком


 
Дмитрий Белькевич   (2009-04-17 13:35) [6]


> Я думаю что после обновления антивируса Касперского..это
> стало происходить..


Как обычно. Виноват кто угодно. Антивирусы, вирусы, Борланд, Майкрософт.

Поверь, в 95, а может и в 99% случаев виноват собственный кривой код.



Страницы: 1 вся ветка

Текущий архив: 2009.06.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1239967211
passlight
2009-04-17 15:20
2009.06.21
Кому-нибудь нужны книги по программированию (базы данных, .NET)?


2-1241011493
Фима
2009-04-29 17:24
2009.06.21
Вхождение ДатыВремени


15-1239342262
Труп Васи Доброго
2009-04-10 09:44
2009.06.21
Дождались! Облачная ОС!


2-1241196392
Александр7
2009-05-01 20:46
2009.06.21
Как присвоить адрес файла переменной


2-1241003506
Начинающий93
2009-04-29 15:11
2009.06.21
сохранение чтение в из файла