Retorno da função
Olá pessoal,
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.
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
Curtidas 0
Respostas
álison Bissoli
08/08/2008
bom amigo,
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
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
GOSTEI 0
Aasn
08/08/2008
Será Álison ?! acredito que deve haver uma solução para este problema... vou continuar pesquisando. Obrigado pela atenção.
[]´s
AASN
[]´s
AASN
GOSTEI 0
Brunodsr
08/08/2008
Variant nao retorna tipos class.
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..
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..
GOSTEI 0
Discorpio
08/08/2008
Boa noite a todos.
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:
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;
GOSTEI 0