Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2052 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Bom dia

Gostaria, se possível, a publicação das propriedades das classes TACBrSacado e TACBrTitulo, para usar com RTTI.

Hoje, sempre que atualizo os fontes mudo do public para published para que meu fonte funcione corretamente.

Agradeço muito 

Editado por Fabiano Oliveira de Castro
Titulo incorreto
  • Fundadores
Postado

Qual necessidade real disso ? Poderia dar um exemplo prático?

Essas classes nao foram projetadas para essa finalidade...

TPersistent consome muito mais memória do que TObject é se uso indiscriminado não é recomendado 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Cara, não sei se me expressei corretamente, segue uma imagem, do arquivo original e do meu, caso houver problema, blz, eu mudo meu código pra não usar o RTTI, que pra mim quando fiz se tornou útil, pois pego os campos do dataset com o mesmo nome das propriedades e alimento tudo num "for".

image.thumb.png.be625ebc3d2e3da04c095da8cf411dda.png

Uso assim

image.thumb.png.3e1d0628f0587740d0f7a9c60fe01b03.png

  • Consultores
Postado

Olá Fabiano,

   Vamos por partes.

Em 10/04/2019 at 10:35, Fabiano Oliveira de Castro disse:

Mas isso já acontece a tempos, não sei quando, mas faz muito tempo tenho que publicar as propriedades pra poder acessar via rtti

   Realmente. Eu fui até conferir, mas essas classes específicas e suas propriedades não foram afetadas pelos ajustes recentes. Pelo menos desde 2015 elas já estavam desse modo.

   Eu entendi que você gostaria que o projeto publicasse essas propriedades. Até discutimos sobre essa possibilidade. Mas isso é desnecessário.

   Desde o Delphi 2010 quando a RTTI foi reescrita, é possível acessar as propriedades que não são published. É por isso e por outros motivos, (cof, cof, generics, cof), que frameworks avançados como o Spring4D e DSharp funcionam apenas com o Delphi 2010 em diante.

   Colocar essas propriedades como published gera um warning no compilador que queremos evitar:

W1055 PUBLISHED caused RTTI ($M+) to be added to type 'TACBrSacado'

   Mas como as propriedades estão acessíveis por RTTI, você não está sem saída.

1 hora atrás, Fabiano Oliveira de Castro disse:

eu mudo meu código pra não usar o RTTI,

   Com eu disse acima, você não precisa mudar seu código para não usar o RTTI. Talvez você precise usar o seu código para acessar o RTTI de forma atualizada.

   Ou talvez você deva verificar algum framework para fazer isso. Mas enfim, isso é uma decisão de acordo com o seu projeto.

   Veja nesse artigo em português como a RTTI pode acessar propriedades não published. Há vários outros artigos na net que estão em inglês. Eu gosto dessa série aqui porque ele segue uma linha de raciocínio e dessa coleção de posts que fala de assuntos diferentes.  

1 hora atrás, Fabiano Oliveira de Castro disse:

que pra mim quando fiz se tornou útil, pois pego os campos do dataset com o mesmo nome das propriedades e alimento tudo num "for"

1 hora atrás, Fabiano Oliveira de Castro disse:

Uso assim

image.thumb.png.3e1d0628f0587740d0f7a9c60fe01b03.png

Achei interessante o que você fez. Mas não é o que eu recomendaria de uso do RTTI no entanto. Tenho impressão que, a menos que você tenha um teste unitário para isso, se alguém alterar um campo do Dataset você só perceberia isso rodando o programa. Acho melhor quando esse tipo de problema gere erro na compilação.

Mas enfim, essa é mais uma opinião pessoal. Bom trabalho por aí.

 

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Consultores
Postado
17 horas atrás, Fabiano Oliveira de Castro disse:

uso bastante Pascal Script

Legal. Não vejo muitos projetos usando. Sugiro avaliar o uso da DWScript.

https://www.delphitools.info/dwscript/

Suporta classes, interfaces, records, type inference, meta-classes, classes parciais, “case of” and “in […]” de formas generalizadas, e muito mais...

 

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado
1 hora atrás, EMBarbosa disse:

Legal. Não vejo muitos projetos usando. Sugiro avaliar o uso da DWScript.

https://www.delphitools.info/dwscript/

Suporta classes, interfaces, records, type inference, meta-classes, classes parciais, “case of” and “in […]” de formas generalizadas, e muito mais...

 

Muito interessante, vou dar uma olhada, obrigado pela sugestão ?

  • Curtir 2
  • Este tópico foi criado há 2052 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...