Главная страница
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.019 c
15-1239973429
12
2009-04-17 17:03
2009.06.21
Сколько в tMemo можно сунуть информации?


1-1211484847
dreamse
2008-05-22 23:34
2009.06.21
работа с потоками в MDI


15-1239229185
Хитрий Лис
2009-04-09 02:19
2009.06.21
Гууглмапс - странные объекты


13-1120595885
vveird
2005-07-06 00:38
2009.06.21
Технология .NET


11-1203125531
Dodfr
2008-02-16 04:32
2009.06.21
WMI and ActiveKOL