Ler WideString de Memória

Delphi

22/01/2007

Tenho um ponteiro (Pointer) indicando uma área de memória, onde
neste espaço tem gravado uma string no padrão UNICODE.
Pude perceber que para cada caracter ele ocupa 2 bytes mais
um no total da string ou seja, se o conteúdo é de 30 caracteres
ele faz (30 + 1) * 2. Como transformar esse conteúdo em uma
AnsiString (String normal) ?

Já tentei o seguinte mas NÃO funcionou....

Var
pData: Pointer; ... (Conteúdo Original)
p: PByte;
sValor: String;
begin
// Pega o Valor... Usei dessa forma porque vi em Um Exemplo...
p := PByte(LongWord(pData) + 8);

// Atribui para uma variável tipo String
sValor := WideCharToString(PWideChar(p));


Alguem tem alguma dica ....???


Mcd

Mcd

Curtidas 0
POSTAR