comando no onclick em tempo execução

Delphi

27/05/2003

ola .. como mando um comando para o evento onclick de um componente em tempo de execução .. tipo

[b:fc2ee4f5df]botão.onclick:=showmessage(´teste´);[/b:fc2ee4f5df]

Sei q assim tá errado, mas gostaria de saber a forma correta
Valeuuu[/b]


Fer

Fer

Curtidas 0

Respostas

Ikkisamurai

Ikkisamurai

27/05/2003

primeiro você precisa criar um ´método compátivel´ com o evento que vc deseja utilizar.... método compátivel eh um método que possui a lista de parametros que o evento utiliza.
no caso do onclick eh o sender.

Exemplo:

private
procedure MostraMensagemTeste(Sender: TObject);

... implementation ...

procedure TForm1.MostraMensagemTeste(Sender: TObject);
begin
ShowMessage(´Teste´);
end;


agora vc pode atribuir esse MostraMensagemTeste ao componente (no caso um botao):

Button1.OnClick := MostraMensagemTeste;

Sempre que o botao for clicado ele executa o procedimento.

Para deixar sem método nenhum no onclick use:
Button1.OnClick := nil;

P.S: Se você alterar o método do OnClick, vc estará trocando o método que estava programado anteriormente... Se necessário, vc deve restaurar o método padrão.

Button1.OnClick := Button1Click;

Resolveu?
:D


GOSTEI 0
Fer

Fer

27/05/2003

blz .. saquei cara .. mas como eu altero o MostraMensagemTeste em tempo de execução?


GOSTEI 0
Ikkisamurai

Ikkisamurai

27/05/2003

Naum sei se entendi... mas me parece que você quer fazer que o código a ser executado venha de fora da aplicação. Eh isso?
Se for vc vai precisar de um interpretador de scripts. (ou construiur um :lol:)


GOSTEI 0
Fer

Fer

27/05/2003

como faço isso? tipo mandar uma linha de comando para o onclick em tempo de execução?


GOSTEI 0
Ikkisamurai

Ikkisamurai

27/05/2003

Cara, essa realmente foi de rachar. Resposta e alternativa:

1.) Não dah pra enviar uma linha de código Object Pascal (Delphi) em tempo de execução. Tipo, pense quem ira compilar/interpretar essa linha? Isso eh definitivo.

2.) Alternativa: Utilizar um interpretador de scripts, ou construir um. Eu sei que o JEDI VCL tem um desses, mas naum sei qual a eficácia e a aparência dos scripts. Dependendo do que vc precisar, talvez seja necessário construir um interpretador você mesmo. Se isso realmente for necessário, pode se preparar para enfrentar boas horas de programação.


GOSTEI 0
POSTAR