Retorno da função

08/08/2008

0

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

Responder

Posts

08/08/2008

álison Bissoli

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


Responder

08/08/2008

Aasn

Será Álison ?! acredito que deve haver uma solução para este problema... vou continuar pesquisando. Obrigado pela atenção.

[]´s
AASN


Responder

08/08/2008

Brunodsr

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


Responder

10/08/2008

Discorpio

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;




Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar