Como converter o ponteiro para o tipo de parâmetro genérico?

é a minha primeira pergunta aqui, feliz por ter encontrado este site.

Minha pergunta lida com o novo recurso Genéricos no Delphi 2009. Basicamente, tentei escrever uma classe de wrapper genérica para uma implementação de mapa de hash existente. A implementação existente armazena (String, Pointer) pares, portanto, na classe wrapper, tenho que converter entre o tipo de parâmetro genérico T e o tipo Pointer e vice-versa.

type THashMap <T : class> = class
private
  FHashList   : THashList;
  ...

end;

Eu pensei em um elenco como este (Valor: T)

Value := (TObject (Ptr)) as T

Mas isso não funciona. O compilador diz 'Operador não aplicável a este tipo de operando'.

Alguém tem algumas dicas? Muito obrigado antecipadamente.

questionAnswers(2)

yourAnswerToTheQuestion