Fórum OnExecute dinâmico #176986
23/08/2003
0
Pessoal, estou num beco sem saída. Tenho um objecto (digamos, um menu) e um procedimento chamado Teste.
Para o menu escrevo o seguinte:
MenuTeste.onexecute := Teste;
Até aqui não há problema. O que pretendo fazer é guardar a palavra ´Teste´ num arquivo de texto, ler essa palavra e (dependendo da palavra) executar o procedure cujo nome é o lido no arquivo.
Haverá alguma alma caridosa com a solução?
Um bacalhau aflito
Para o menu escrevo o seguinte:
MenuTeste.onexecute := Teste;
Até aqui não há problema. O que pretendo fazer é guardar a palavra ´Teste´ num arquivo de texto, ler essa palavra e (dependendo da palavra) executar o procedure cujo nome é o lido no arquivo.
Haverá alguma alma caridosa com a solução?
Um bacalhau aflito
Bacalhau
Curtir tópico
+ 0
Responder
Posts
23/08/2003
Cebikyn
Você poderia chamar a procedure pelo nome:
Passe o nome da procedure para a função a cima e ela executará a procedure para você.
Um detalhe: só funciona para procedures tipo [i:5dabaa6c10]published[/i:5dabaa6c10]
function ExecProc(MyProcStr : String):boolean; Var MyProc : procedure of object; Begin TMethod(myProc).data:=self; TMethod(MyProc).code :=MethodAddress(MyProcStr); result:=true; if not Assigned(MyProc) Then result:=false else MyProc; end;
Passe o nome da procedure para a função a cima e ela executará a procedure para você.
Um detalhe: só funciona para procedures tipo [i:5dabaa6c10]published[/i:5dabaa6c10]
Responder
Gostei + 0
25/08/2003
Bacalhau
Cebikyn, foi em cheio!!! Muito obrigado. Estou ainda com um pequeno obstáculo, mas o objectivo principal foi conseguido.
Agora tenho uma base comum para todo o meu software, executando procedures, funções em dlls, outros executáveis, tuudo!
A coisa ainda está meio feia, mas quando for consistente, envio uma cópia. Só preciso saber o mail.
abraço do bacalhau
Agora tenho uma base comum para todo o meu software, executando procedures, funções em dlls, outros executáveis, tuudo!
A coisa ainda está meio feia, mas quando for consistente, envio uma cópia. Só preciso saber o mail.
abraço do bacalhau
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)