A Vialotaion podczas wciskania klawisza

0

Mam sobie buttona i edita.

Button po wciśnięciu dodaje tekst z edita gdzieś tam.
Chciałem zrobić tak, aby wystarczyło wcisnąć enter, zamiast buttona, więc:

w onKeyDown najpierw dałem tak:

if key=vk_Return then addButton.OnClick(edit);

Ale wyskakiwał Access Violation

Potem więc dałem zamiast keyDown - KeyPress:

if key=#13 then addButton.OnClick(edit);

Jednak cały czas wyskakuje AV. Co mam zrobić, aby to zadziałało?

0

addButton1.OnClick to zdarzenie które następuje po kliknięciu na addButton. Wykonuje sie wtedy procedura nazwana przez Delphi domyślnie

addButton1Click

. Jezeli chcesz wywołać ta procedurę napisz addButton1Click(edit), albo jeszcze prościej - addButton1.Click .

Przykład:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Button1.OnClick');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Button1Click(Sender);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Button1.Click;
end;

Przy kliknieciu na kazdy z 3 buttonów wykonuje sie procedura przypisana do OnClick pierwszego.

0
if key=vk_Return then addButton.Click;

keyDown - KeyPress:

if key=#13 then addButton.Click;

addButton - to nazwa tego buttona

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