Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Onclick-Event im Quellcode setzen (https://www.delphipraxis.net/199584-onclick-event-im-quellcode-setzen.html)

Julian M. 4. Feb 2019 03:59

Onclick-Event im Quellcode setzen
 
Hallo, ich möchte gerne in Lazarus/Freepascal ein onclick-event per Quellcode setzen.
Nun habe ich von Luckie ein super Beispiel gefunden, welches unter Delphi funktioniert.
Bei Lazarus bekomm ich die Fehlermeldung:

unit1.pas(38,23) Error: Wrong number of parameters specified for call to "MyBtnClick"

Weiß Jemand Abhilfe?

LG Julian

Zitat:

Zitat von Luckie (Beitrag 263365)
In der Kürze liegt die Würze:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure MyBtnClick(Sender: TObject);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.MyBtnClick(Sender: TObject);
begin
  ShowMessage('foobar');
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  MyButton: TButton;
begin
  MyButton := TButton.Create(Form1);
  MyButton.Parent := Form1;
  MyButton.OnClick := MyBtnClick;
end;


hoika 4. Feb 2019 04:44

AW: Onclick-Event im Quellcode setzen
 
Hallo,
Button auf das Form, Doppelklick drauf.
Dann kennst du die Art und Anzahl der Parameter.

Julian M. 4. Feb 2019 05:26

AW: Onclick-Event im Quellcode setzen
 
Danke für die Antwort, Art und Anzahl der Parameter sind gleich.

des Rätsels Lösung war das @-Zeichen:

Delphi-Quellcode:
MyButton.OnClick := @MyBtnClick;

Damit klappts auch mit Lazarus/Freepascal.

hoika 4. Feb 2019 09:36

AW: Onclick-Event im Quellcode setzen
 
Hallo,
und wieder was dazugelernt.

Delphi hat hier wohl etwas mehr "Pointer-Magie".


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz