вот пример
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 неправильно.