[gelöst] Ereignis bei Runtime-Komponente erstellen

Rund um die LCL und andere Komponenten
Antworten
catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

[gelöst] Ereignis bei Runtime-Komponente erstellen

Beitrag von catweasel »

Moin

Ich erstelle zur Laufzeit eine ListView Komponente. Es gelingt mir aber nicht ein OnDblClick-Ereignis hinzuzufügen.
Beim compilieren bekomme ich eine Fehlermeldung: "Wrong number of parameters". Wo liegt mein Fehler?
Ich habe versucht mich an Beispielen aus dem Internet für einfache Buttons zu orientieren und das für mein ListView anzupassen.

Gruß
Michael

So bin ich vorgegangen:

Code: Alles auswählen

[...]
  private
    { private declarations }
  public
    { public declarations }
    procedure LVDblClick(Sender: TObject);
  end; 
 
  // Eigene ListView erstellen
  TMyListView=class(TListView)
  protected
    function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override;
    function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; override;
  end;  
 
[...]
 
 
var
  Form1: TForm1;
  LV   : TMyListView; 
 
 
 
procedure TForm1.LVDblClick(Sender: TObject);
begin
  ShowMessage('Doppelklick');
end;
 
 
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
  //Abgeleitete ListView Komponente zur Laufzeit erstellen
  LV := TMyListView.Create(form1);
  LV.Top       :=  72;
  LV.Left      := 592;
  LV.Width     := 250;
  LV.Height    := 136;
  LV.Visible   := true;
  LV.ViewStyle := vsReport;
  LV.ReadOnly  := true;
  LV.RowSelect := true;
  LV.OnDblClick:= LVDblClick;  <-- Error: Wrong number of parameters specified for call to "LVDblClick"
 
  LV.RowSelect:=true;
  LV.Parent   :=Form1;
[...]
end;
Zuletzt geändert von catweasel am Mi 5. Mär 2014, 14:39, insgesamt 1-mal geändert.

Linkat
Lazarusforum e. V.
Beiträge: 561
Registriert: So 10. Sep 2006, 23:24
OS, Lazarus, FPC: Linux Mint 22.1; Lazarus 4.0 FPC 3.2.2; RaspiOS
CPU-Target: AMD 64, ARM 64
Wohnort: nr Stuttgart

Re: Ereignis bei Runtime-Komponente erstellen

Beitrag von Linkat »

Hallo Catweasel,

versuche mal nur die Adresse zu übergeben:

Code: Alles auswählen

LV.OnDblClick:= @LVDblClick;
Viel Erfolg.

Gruß, Linkat
Linux Mint 21.3; Lazarus 3.4 FPC 3.2.2; RaspiOS

catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

Re: Ereignis bei Runtime-Komponente erstellen

Beitrag von catweasel »

Linkat hat geschrieben:versuche mal nur die Adresse zu übergeben:

Code: Alles auswählen

LV.OnDblClick:= @LVDblClick;
Das war´s. Danke für die Hilfe :D

Gruß
Michael

Antworten