none
VarPtr exemplo de uso? RRS feed

  • Pergunta

  • Estava estudando ponteiros em C++ e decidi dar uma olhada para VB.Net, VarPtr era suportada em VB6 mais como VB6 para VB.NET é uma grande diferença isso acabou morrendo.

    Com algumas pesquisas achei um modulo na internet que posibilita o uso do VarPtr, até o momento só consigo obter o endeço na memoria da variavel tipo integer e converter para Hex, assim consigo colocalizar em editores hex..

    Mais VarPtr só serve para pegar endereço? 

     Dim lngVariableAddress As Long
     Dim dblMyVariable As Integer = 10
     dblMyVariable = dblMyVariable + 1
     lngVariableAddress = VarPtr(dblMyVariable)
     Label1.Text = Hex(lngVariableAddress)
     Label2.Text = dblMyVariable
    

    sexta-feira, 14 de agosto de 2015 19:27

Respostas

  • Sim, o VarPtr serve apenas para retornar o ponteiro para uma variável, um ponteiro nada mais é que um endereço de memória de uma variável específica.

    Este conceito é comum em gerenciamento de memória.

    Existem outras funções semelhantes como StrPtr que retorna o endereço do primeiro caractere de uma string BSTR(este tipo de string armazena 4 bytes que definem seu tamanho, seguido da string com um nulo de 2 bytes), ou seja, a StrPtr aponta para o quinto byte da estrutura BSTR.

    A ObjPtr aponta para o endereço de um objeto propriamente dito(exemplo: uma nova instância de um form).

    • Marcado como Resposta Tiago.SP sábado, 15 de agosto de 2015 10:12
    sábado, 15 de agosto de 2015 03:04