Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
15-1239973429
12
2009-04-17 17:03
2009.06.21
Сколько в tMemo можно сунуть информации?


2-1238983205
Cabyrc
2009-04-06 06:00
2009.06.21
Сервер MySQL и Delphi


2-1240761560
madmech
2009-04-26 19:59
2009.06.21
Помогите разобраться с итоговым столбцом кросс-отчета


15-1239976857
Dr.Andrew
2009-04-17 18:00
2009.06.21
Как заполнить bitmap неперекрещивающимися фигурами в цикле?


2-1241507863
Zalum
2009-05-05 11:17
2009.06.21
Вызвать процедуру из другого модуля




   Наверх