Article View: pl.comp.lang.pascal
Article #92836[Lazarus] Dynamiczna forma i zdarzenie Click z Buttona
From: Terrmit
Date: Mon, 02 Feb 2009 18:43
Date: Mon, 02 Feb 2009 18:43
69 lines
2583 bytes
2583 bytes
Witam,
Mam problem, z którym nie daję rady. Do tej pory
nie miałem potrzeby robić dynamicznych form, ale teraz
zaszła taka okoliczność.
Mam taką klasę formy:
TInsColForm = class(TForm)
btOK : TButton;
//na formie jest więcej kontrolek, ale chciałem skrócić kod
procedure btOKClick(Sender: TObject); //obsługa kliknięcia
private
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
end;
constructor TInsColForm.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
//tu mój kod
btOK := TButton.Create(Self);
btOK.Parent := Self;
btOK.Top := 20;
btOK.Left := 10;
btOK.Caption := 'OK';
btOK.ModalResult := mrOK;
btOK.OnClick := btOKClick; // <---- błąd kompilacji
end;
destructor TInsColForm.Destroy;
begin
FreeAndNil(btOK);
//tu mój kod
inherited Destroy;
end;
procedure TInsColForm.btOKClick(Sender: TObject);
begin
ShowMessage('kliknieto btOK');
end;
Jak widać jest na nią dynamicznie położony Button.
Problem tkwi w tym, że nie mogę przypisać zdarzeniu
OnClick procedury do jego wykonania.
Dostaję komunikat błędu:
Error: Wrong number of parameters specified for call to "btOKClick"
Nie wiem dlaczego ten błąd się pojawia, skoro przy statycznej
formie nie było tego błędu. Jak należałoby w takim razie
oprogramować obsługę kliknięcia tego przycisku?
Jeszcze dodam wywołanie tej formy:
fm := TInsColForm.Create(Self);
fm.Position := poOwnerFormCenter;
if fm.ShowModal = mrOK then begin
ShowMessage('jest mrOK');
end;
FreeAndNil(fm);
Po kliknięciu OK powinienem zobaczyć najpierw
ShowMessage('kliknieto btOK');
a potem
ShowMessage('jest mrOK');
Mógłby ktoś pomóc, bo się pogubiłem już :/
Sławek
Technical Details
Message-ID:
<gm7etc$g2j$1@achot.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!not-for-mail From: Terrmit <terrmitv@poczta.onet.pl> Newsgroups: pl.comp.lang.pascal Subject: [Lazarus] Dynamiczna forma i zdarzenie Click z Buttona Date: Mon, 02 Feb 2009 19:43:54 +0100 Organization: http://news.icm.edu.pl/ Lines: 69 Message-ID: <gm7etc$g2j$1@achot.icm.edu.pl> NNTP-Posting-Host: chello089076219239.chello.pl Mime-Version: 1.0 X-Trace: achot.icm.edu.pl 1233600236 16467 89.76.219.239 (2 Feb 2009 18:43:56 GMT) X-Complaints-To: abuse@icm.edu.pl NNTP-Posting-Date: Mon, 2 Feb 2009 18:43:56 +0000 (UTC) User-Agent: Thunderbird 2.0.0.19 (X11/20090105) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit