Chamar um evento em outro evento de outro Edit
Amigos tenho uma procedure da seguinte forma,
procedure TfrmVenda.ed_qtdeExit(Sender: TObject);
begin
ed_total_item.OnKeyPress(); {eis aqui o problema}
end;
no evento onexit do ed_qtde, quero executar o evento onKeyPress do ed_total_item, porém da forma que estão não funciona, abaixo a relação das formas que já tentei
ed_total_item.OnKeyPress(Sender);
ed_total_item.OnKeyPress(Self);
ed_total_itemKeyPress(Self);
ed_total_itemKeyPress(Sender);
ed_total_itemKeyPress(ed_total_item,key); {sendo key=13}
porém não executa não compila, o erro que da no log é
[DCC Error] venda.pas(6702): E2035 Not enough actual parameters.
[DCC Error] venda.pas(6702): E2033 Types of actual and formal var parameters must be identical
procedure TfrmVenda.ed_qtdeExit(Sender: TObject);
begin
ed_total_item.OnKeyPress(); {eis aqui o problema}
end;
no evento onexit do ed_qtde, quero executar o evento onKeyPress do ed_total_item, porém da forma que estão não funciona, abaixo a relação das formas que já tentei
ed_total_item.OnKeyPress(Sender);
ed_total_item.OnKeyPress(Self);
ed_total_itemKeyPress(Self);
ed_total_itemKeyPress(Sender);
ed_total_itemKeyPress(ed_total_item,key); {sendo key=13}
porém não executa não compila, o erro que da no log é
[DCC Error] venda.pas(6702): E2035 Not enough actual parameters.
[DCC Error] venda.pas(6702): E2033 Types of actual and formal var parameters must be identical
Geone Castro
Curtidas 0
Respostas
Raimundo Pereira
12/01/2022
Boa tarde!
Uma alternativa
Crie uma Procedure ed_total_itemPress;
procedure TForm1.ed_total_itemPress; // Novo procedimento
begin
//Pegue toda a rotina do ed_total_item.OnKeyPress e coloque dentro desta procedure
ShowMessage('Procedimento ed_total_itemPress');
end;
procedure TfrmVenda.ed_total_item(Sender: TObject);
begin
//Chame a nova procedure
ed_total_itemPress;
end;
procedure TfrmVenda.ed_qtdeExit(Sender: TObject);
begin
//Chame a nova procedure
ed_total_itemPress;
end;
Repare que ambos os edits lhe retornará
ShowMessage('Procedimento ed_total_itemPress');
Uma alternativa
Crie uma Procedure ed_total_itemPress;
procedure TForm1.ed_total_itemPress; // Novo procedimento
begin
//Pegue toda a rotina do ed_total_item.OnKeyPress e coloque dentro desta procedure
ShowMessage('Procedimento ed_total_itemPress');
end;
procedure TfrmVenda.ed_total_item(Sender: TObject);
begin
//Chame a nova procedure
ed_total_itemPress;
end;
procedure TfrmVenda.ed_qtdeExit(Sender: TObject);
begin
//Chame a nova procedure
ed_total_itemPress;
end;
Repare que ambos os edits lhe retornará
ShowMessage('Procedimento ed_total_itemPress');
GOSTEI 0