Помощь - Поиск - Пользователи - Календарь
Полная версия: Нужно создать указатель на объект
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
spill
Нужна подпрограмма, которая по передаваемому ей параметру (любого типа) создаст в динамической памяти объект и вернет его.
Вот, набросал процедурку, но она не работает. Турбо не компилирует, а NVN не видит ошибки, но ничего не делает...

Procedure Obj (Var X; Var P: Pointer);
Begin
GetMem(P,SizeOf(X));
P^ := X;
End;


Помогите, подскажите, в чем дело?
volvo
SizeOf(X) внутри процедуры попробуй распечатать, что будет?

Вот так - работает:
Procedure Obj (Var X; size: integer; Var P: Pointer);
Begin
GetMem(P, size);
move(X, P^, size);
End;
...
obj(something, sizeof(something), px);


spill
Спасибо, все работает.
Только вот почему-то когда я пишу такую маленькую процедурку, размер переменной передается, а когда добавляю ее в другую, побольше, то нужно передавать и размер.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.