Wywołanie zdarzenia OnKeyPress z innej procedury

0

Witam.
No i mam kolejny problem. Do komponentu TEdit przypisałem zdarzenie OnKeyress, które wykonuje pewne operacje po naciśnięciu w tym TEdicie klawisza Enter. Mam na formie przycisk, i do niego przypisany event OnClick. I teraz chciałbym na końcu tej procedury OnClick wywołać tego eventa OnKeyPress, zeby ponownie wykonały się te opracje. W jaki sposób podejść do problemu?

0

Procedura obsługi zdarzenia to zwykła procedura jak każda inna (no są pewne różnice ale nie ma to tutaj znaczenia). Więc wywołujesz ją standardowo:
Edit1KeyPress(Edit1, #13);

0

Jeśli tak wywołam, otrzymuję komunikat błędu podczas kompilacji: Types of actual and formal var parameters must be identical.

0
Buster napisał(a)

Jeśli tak wywołam, otrzymuję komunikat błędu podczas kompilacji: Types of actual and formal var parameters must be identical.

var
  c: char;
begin
{...}
c := #13;
Edit1KeyPress( Edit1, c);
{...}
end;

Można również (o ile nie jest istotny Sender) użyć

Edit1KeyPress( self, c);
0

A konkretnie - chodzi o to, że zdarzenie OnKeyPress jest zdefiniowane jako:

procedure OnKeyPress(Sender: TObject; var Key: Char);

Ostatni parametr nie może być stałą.

0
TheBigStaticObject napisał(a)

Ostatni parametr nie może być stałą.

Racja - nie testowałem mojego rozwiązania.

0

hmm... jak dalej nie dziala to wrzuc na forme np button1 jemu przypisz ta procedure co ma byc onkeypress ukryj go i dodaj tylko w onkeypress i w tym drugim buttonie Button1Click(Sender);

0

Działa. Dzięki wszystkim. :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1