Mais até agora vc não disse qual o problema que vc quer resolver. Qual a sua
necessidade? Por que vc precisa que os métodos sejam executados pelo nome?

Em 15 de julho de 2010 14:22, eric_developer
<developer.syst...@yahoo.com>escreveu:

>
>
> Colega, não é executar Scripts, por favor veja o que ja postamos.
>
> o pequeno e completo exemplo que foi postado, esta bem claro e fácil, é uma
> pena que há restrições e não consegui montar nada equivalente.
>
> O que faço facilmente em outra linguagem estruturada com poucos recursos
> OOP, parece ser mosca branca de zóio verde ou extravagante demais em Delphi
> rsrs.
>
> Só me resta aguardar, tentar outros caminhos ou desistir disso, o que acho
> tão simples, é um mistérios aos demais. Fiz uma pesquisa aqui, achei um
> colega querendo o mesmo (tópico de uns 2 anos), entrei em contato com ele e
> até hoje não conseguiu.
>
>
> --- Em delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>,
> Rubem Rocha <rubem.ro...@...> escreveu
> >
> > Eric, se você pensa em implementar algum tipo de automação em seus
> > aplicativos, envolvendo a manipulação de elementos nele contidos, sugiro
> > você pesquisar sobre ferramentas de scripting para Delphi. Uma boa
> > alternativa, free e de código fonte aberto, é o PascalScript, da
> RemObjects
> > (http://www.remobjects.com/ps).
> >
> >
> >
> > Caso não seja essa a sua necessidade, explique-a melhor, com riqueza de
> > detalhes, para que possamos discutir uma alternativa técnica para tal.
> >
> >
> >
> > Sds.
> >
> >
> >
> > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>[mailto:
> delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em
> > nome de eric_developer
> > Enviada em: quinta-feira, 15 de julho de 2010 12:07
> > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> > Assunto: Re: RES: [delphi-br] MethodAddress retornando NIL
> >
> >
> >
> >
> >
> > Alosi,
> >
> > Desta forma eu também já tinha encontrado na internet e na documentação.
> > Veja que se você usar sua rotina como exemplifiquei anteriormente, não
> > funcionará:
> >
> > ExecMethod( edit1, 'SETFOCUS' )
> >
> > --- Em delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> > , jalosii <jalosii@> escreveu
> > >
> > > Implementei sem problemas na semana passada em um sistema meu.
> > >
> > > Qual o real problema que vc está tendo?
> > >
> > > Sua procedure seria assim:
> > >
> > > unit Unit2;
> > > interface
> > > uses ...;
> > > type
> > > TForm2 = class(TForm)
> > > ...
> > > private
> > > procedure ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
> > > ...
> > > var
> > > Form2: TForm2;
> > > type //tem que ser aqui, não sei explicar por que, mas se por acima do
> > > form no mesmo type causa erro
> > > TExec = procedure of object;
> > > ...
> > >
> > > procedure TForm2.ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
> > > var
> > > Rotina: TMethod;
> > > Exec: TExec;
> > > begin
> > > Rotina.Data := Pointer(NoObjeto);
> > > Rotina.Code := NoObjeto.MethodAddress(Nome_Metodo);//Aqui que causa
> > > erro pra vc?
> > > if not Assigned(Rotina.Code) then
> > > exit;
> > > Exec := TExec(Rotina);
> > > Exec;
> > > end;
> > >
> > > ...
> > >
> > > O que eu percebi é se o método que vc quer chamar nã estiver nas
> > > declarações do FORM no lugar certo, o MethodAddress não encontra,
> tentei
> > > por em private e não achou, troquei o local da declaração pra acima do
> > > private e funcionou, no meu caso chamo uma procedure de outro form, pra
>
> > > que nesse não tenha acesso a banco de dados e está funcionando.
> > >
> > >
> > > Verifique teu código e se tiver mais erros nos avise pra ver se pudemos
>
> > > lhe ajudar.
> > >
> > > Alosi
> > > DigitalSystem
> > > Bento Gonçalves-RS
> >
> >
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    delphi-br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a