gelöst:OnClick eines dynamischen Buttons

Rund um die LCL und andere Komponenten
Antworten
Privateer3000
Beiträge: 37
Registriert: Mo 14. Feb 2011, 14:22

gelöst:OnClick eines dynamischen Buttons

Beitrag von Privateer3000 »

Hallöchen,
ich versuche einem zur Laufzeit generierten Buttton ein Onclick zuzuweisen.

Code: Alles auswählen

tpa1.OnClick:=@buttonset(buttonquer,tpa1.Tag);
die procedure die aufgerufen werden soll:

Code: Alles auswählen

procedure THaupt.buttonset(bquer:TZQuery;bnum:Integer);
...
Nun meldet der Compiler:

Code: Alles auswählen

m_haupt.pas(138,17) Error: Incompatible types: got "<procedure variable type of procedure(TZQuery,LongInt) of object;Register>" expected "<procedure variable type of procedure(TObject) of object;Register>"
Warum funktioniert das nicht?
Im Delphi ging das ohne Probleme...(ohne @) natürlich

Grüße

Edit:
Ich bin blöd. Hat sich erledigt.
Natürlich kann das nicht direkt aufgerufen werden.

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: gelöst:OnClick eines dynamischen Buttons

Beitrag von Michl »

Für nachfolgende Leser: ein kleines Beispiel, wie man Buttons dynamisch erzeugt und den Eventhandler zuweist: http://wiki.freepascal.org/TButton/de#B ... h_erzeugen

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Antworten