sexta-feira, 13 de fevereiro de 2009

Brincando com memória

Após um dia e meio de pesquisas, eis algumas conclusões (que podem mudar até o final do expediente):

Existe o tipo Pointer, que é utilizado para "apontar" para um endereço de memória.

Se você tiver um endereço de memória no formato string e precisar formatar para inteiro, você pode usar a função StrToInt, mas coloque o cifrão "$" no frente, senão não rola.

Use a função Ptr para transformar um endereço em ponteiro.

Para armazenar um endereço de memória no formato string, use a função Format usando '%p' como argumento.

Para pegar o endereço de uma variável, use Addr, ou o '@' na frente da variável.

Todo processo no Windows tem um range de memória isolado dos outros processos. Não é tão simples assim um programa alterar o conteúdo da memória de outro programa.

Por ora é só.

Links interessantes:

http://pt.wikipedia.org/wiki/Endere%C3%A7o_(mem%C3%B3ria)
http://pt.wikipedia.org/wiki/Mem%C3%B3ria_virtual
http://www.delphibasics.co.uk/RTL.asp?Name=Addr&ExpandCode1=Yes
http://delphi.about.com/library/rtl/blrtlPtr.htm

Minha lista de blogs