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.