Retorno da função

Delphi

08/08/2008

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.


Aasn

Aasn

Curtidas 0

Respostas

álison Bissoli

á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


GOSTEI 0
Aasn

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


GOSTEI 0
Brunodsr

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..


GOSTEI 0
Discorpio

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:


function TForm1.MinhaFuncao(MClass: TMinhaClasse): Variant;
begin
  ...
  ...
  Result MClass.ClassName;
end;




GOSTEI 0
POSTAR