Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];

Вниз

Пчему падает приложение при вызове 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
15-1239568612
Юрий
2009-04-13 00:36
2009.06.21
С днем рождения ! 13 апреля 2009 понедельник


15-1239741954
Юрий
2009-04-15 00:45
2009.06.21
С днем рождения ! 15 апреля 2009 среда


15-1239395408
Юрий
2009-04-11 00:30
2009.06.21
С Днём рождения ! 11 апреля 2009 суббота


15-1239446512
Копир
2009-04-11 14:41
2009.06.21
А вот вопрос про принтер?


15-1239538451
Kerk
2009-04-12 16:14
2009.06.21
.Net Compact Framework





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский