Аналог сишной функции

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Nikolay

Сообщение Nikolay »

GetMem(Result, Count*Size);
IUnknown
новенький
Сообщения: 73
Зарегистрирован: 10.03.2006 13:25:02
Откуда: Донецк

Сообщение IUnknown »

О, кажется это

Код: Выделить всё

function MyGetMem(Count, Size: Integer): pointer;
begin
  GetMem(Result, Count*Size);
end;


то что надо! Насчет FillChar пороюсь еще в документации.
Но тут еще 2 внепонятки возникли :
1. Это на совести компилятора сгенерить Result, или его явно где-то объявить надо?
2. Как кастить Pointer в PСhar? Не найду как преообразвание типов в паскале делается :(
Nikolay

Сообщение Nikolay »

Result объявляется самой функцией. То, что это функция, означает, что у неё есть Result. А его тип - это тип возвращаемяй функцией.
^Char(Pointer) - Имя типа, а в скобочках - то, что кастишь. Char в Pointer не кастится, т.к. это байт, а поинтер 4 байта. Кастится указатель на Char, т.е. ^Char
Ответить