Retorno da função
08/08/2008
0
Estou com uma dúvida e gostaria da ajuda dos colegas.
Tenho uma função cujo retorno é tipo Variant, pois de acordo com o resultado do processamento posso retornar Integer, Boolean, etc. O problema está quando tento retornar uma Class, já na compilação recebo a msg de erro:
Incompatible types: ´Variant´ and ´TMinhaClasse´
ex:
abc := TMinhaClasse.create;
.
.
.
Result := abc; <--- aqui ocorre o erro
Grato,
AASN.
Aasn
Posts
08/08/2008
álison Bissoli
ou você muda o tipo de retorno de variant para TMinhaClasse,
ou se não puder faça outra função separada desta para retornar o tipo TMinhaClasse
um abraço
08/08/2008
Aasn
[]´s
AASN
08/08/2008
Brunodsr
Ele so consegue emular tipos basicos. Classes sao complexas demais veio. Rola n.
Sugiro que vc reveja o motivo de retornar classes ou variants. Vc ja pensou em como vai armazenar o retorno da funcao?? Pois é.. Nao tem como ne.
Faca o simples cara..
10/08/2008
Discorpio
AASN, eu entendi mais o menos o que voce pretende fazer. Se eu estiver correto, o que voce pretende é fazer a sua função retornar um valor Variant de acordo com um dos valores dos métodos de sua Classe TMinhaClasse.
É isso mesmo :?:
Se for, então voce pode passar como parâmetro a sua Classe e de acordo com o processamento dentro da função, a mesma retorne o valor Variant esperado, assim:
function TForm1.MinhaFuncao(MClass: TMinhaClasse): Variant; begin ... ... Result MClass.ClassName; end;
Clique aqui para fazer login e interagir na Comunidade :)