comando no onclick em tempo execução
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]
[b:fc2ee4f5df]botão.onclick:=showmessage(´teste´);[/b:fc2ee4f5df]
Sei q assim tá errado, mas gostaria de saber a forma correta
Valeuuu[/b]
Fer
Curtidas 0
Respostas
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
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
27/05/2003
blz .. saquei cara .. mas como eu altero o MostraMensagemTeste em tempo de execução?
GOSTEI 0
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:)
Se for vc vai precisar de um interpretador de scripts. (ou construiur um :lol:)
GOSTEI 0
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
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.
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