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

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

переделать функцию


AlinaVK ©   (2007-08-01 08:19:00) 

Есть функция:


function BufferToHex( Buffer:intPtr; Size:Integer ):String;
var
 pb: IntPtr;
 I: Integer;
begin
 pb:= Buffer;
 Result:='0x';
 for I:=0 to Size-1 do
 begin
   Result:=Result+IntToHex(pb,2);
   Inc(pb);
 end;
end;


Компилятор ругается "Unsafe code only allowed in unsafe procedure"

Подскажите, пожайлуста как правильно переписать


AlinaVK   (2007-08-01 11:24:00) [1]

спасибо


Сергей М.   (2007-08-01 09:42:00) [2]

Пардон,

SetLength(Result, Size*2)
BinToHex(Buffer, PChar(Result), Size);
Result := Format(%s%s, ['0x', Result]);


Сергей М.   (2007-08-01 09:40:00) [3]

Тебе это сильно мешает ? Выключи в опциях компилятора предупреждения подобного рода и - хэв фан)

Кстати, а за каким было писать эту функцию с циклом, если все гораздо проще:

SetLength(Result, Size*2)
Result := Format(%s%s, ['0x', BinToHex(Buffer, PChar(Result), Size)])

?


Наверх

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