Fórum Recuperar as Variáveis do Projeto #295830
16/09/2005
0
gostaria de saber como posso pegar todas as variaveis do sistema ou do form atual, por exemplo, quando estou debugando e faço Ctrl+Clique em algum Form, o Delphi exibe todas as suas variaveis e seus respectivos conteudos.
Eu preciso de algo similar para recuperar o conteudo de determinada variavel.
Desde já obrigado.
Marvinla
Curtir tópico
+ 0Posts
16/09/2005
Marvinla
consegui em partes o que eu queria. Uma das coisas que eu precisava era recuperar o valor de uma variavel pelo seu nome. Consegui isso atravez da procedure GetPropValue, com ela eu consigo recuperar o valor de uma variavel ´indiretamente´, atravez de um propriedade declarada no Published, atravez de uma string com seu nome.
outra coisa é executar uma procedure / função atravez de uma string com seu nome.
Eis o link que esclareceu minha dúvida:
http://jansfreeware.com/articles/delphi-call-by-name.html
porém, eu gostaria de saber dinamicamente os parametros da minha procedure. Pelo que vi o caminho é a RTTI (Runtime Type Information), porém não estou conseguindo recuperar os metodos. Se alguem tiver alguma dica, eu agradeço.
Obrigado, Marcos
Sobe...
Gostei + 0
16/09/2005
Massuda
Acho estranho quando alguém diz que precisa determinar o valor de uma variável ou executar uma procedure/function a partir do nome dela que está em uma string ou num campo numa tabela em BD. Apenas queria entender como você está usando isso. Será que dava para explicar como você está usando isso?
Gostei + 0
17/09/2005
Marvinla
é a velha historia do Macroprocessamento do Clipper. Hoje, temos uma tabela onde se configura notas fiscais por exemplo.
Nela há comandos do tipo:
cNomCid + (cadcid -> Estado) + chr(13), o que resulta na variavel cNomCid concatenada com o campo Estado da tabela cadcid e um enter. Lógico isso é um exemplo bobo. No macroprocessamento vc pode executar funções que vc criou, qualquer coisa.
Mas todos ja sabemos que o Delphi não tem isso. Descobri então a RTTI, mas estou tendo a dificuldade que reportei acima. Se puder me ajudar fico grato.
Marcos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)