Ajuda - Busca - Membros - Calendário
Versão Completa: Pointer -> Integer
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
- Marcos -
Boa noite,

Sei que da pra armazenar informações de um ponteiro em Integer,
pra ser mais preciso, gostaria de armazenar um Record em uma
variavel integer onde esse record é o PNetResourceA

Como armazenar algum ponteiro em um Integer e ler o mesmo
novamente?

Grato,
Marcos
Thales Pontes Martins
Existe uma coisinha chamada Type Cast onde você lê ou escreve em uma variável com o tipo que você quiser. Isso se dá colocando o tipo seguido da variável entre parentesis. então pra transformar ponteiro em integer é assim-> Integer(Ponteiro). E de Integer pra ponteiro é -> Pointer(inteiro). Então no seu caso ficaria->

CODE
var
  inteiro : Integer;
  pt : PNetResourceA;
  NetRes : TNetResourceA;
begin
  inteiro:=Integer(@NetRes); // já salvou o ponterio no integer
  pt:=Pointer(inteiro); // jogou o endereço pro ponteiro mesmo.
end;


Nesse caso tanto faz inteiro:=Integer(@NetRes); como Pointer(inteiro):=@NetRes;

Beleza?
Micheus
QUOTE
gostaria de armazenar um Record em uma variavel integer onde esse record é o PNetResourceA
Apenas complementando, tenha em mente que você deverá estar armazenando uma área de memória válida. E seu conteúdo será válido apenas em memória (run-time). Não dá para armazenar num arquivo, por exemplo (com este procedimento).
Visitante
Boa tarde,

Voltei pra agradecer biggrin.gif
Beleza valeu galera, deu certo!

Grato,
Marcos
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.