вот пример
http://www.delphibasics.ru/PInt64.php
- Код: Выделить всё
- var
 int64Ptr : PInt64;
 a : TDateTime;
 begin
 // Ассигнование памяти для трёх Int64 переменных
 GetMem(int64Ptr, 3 * SizeOf(Int64));
 // Заполнение этих переменных значениями
 int64Ptr^ := 1;
 Inc(int64Ptr);
 int64Ptr^ := 22;
 Inc(int64Ptr);
 int64Ptr^ := 333;
 // Показ этих значений
 Dec(int64Ptr, 2);
 ShowMessageFmt('Значение 1 = %d',[int64Ptr^]);
 Inc(int64Ptr);
 ShowMessageFmt('Значение 2 = %d',[int64Ptr^]);
 Inc(int64Ptr);
 ShowMessageFmt('Значение 3 = %d',[int64Ptr^]);
 end;
вот пример работы с классом
http://www.delphibasics.ru/Pointer.php
- Код: Выделить всё
- var
 generalPtr : Pointer; // Указатель на что-нибудь
 formPtr : ^TForm; // Указатель на объект формы
 begin
 // Форма текущего модуля адресуемая через ключевое слово self
 generalPtr := Addr(self);
 // Мы можем присвоить этот указатель указателю формы
 formPtr := generalPtr;
 // И установить заголовок формы, чтобы показать это
 [b]formPtr.Caption := 'Test program';[/b]
 end;
почему в одном случае мы должны указывать явно int64Ptr^ := 1;
а вот работу с классами в таком виде formPtr^.Caption неправильно.






