Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Button zur Laufzeit erzeugen

  Alt 28. Jul 2007, 03:41
Moin Mooshead,

wichtig ist erst einmal, dass OnClick eine Methode zugewiesen werden muss, und keine einfache Prozedur oder Funktion.
Eine Methode ist eine Prozedur oder Funktion einer Klasse.

In diesem Falle (OnClick) muss es eine Prozedur vom Typ TNotifyEvent sein.

Das einfachst wäre, wenn Du dem Formular eine, wie auch immer genannte, Methode hinzufügst.



Delphi-Quellcode:
TForm1 = class(TForm)
  procedure MeineOnClickMethode(Sender : TObject);
//...

implementation

procedure TForm1.MeineOnClickMethode(Sender : TObject);
begin
  // Was auch immer beim Anklicken passieren soll
end;

// Jetzt kannst Du dem Button die Methode zuweisen

  OnClick := MeineOnClickMethode;

Der Wesentliche Unterschied zwischen einer Methode und einer Prozedur/Funktion:
Eine Methode hat noch einen, impliziten, also nicht direkt sichtbaren, Parameter namens self, mit dem auf die Instanz der Klasse referenziert wird, in der sich die Methode befindet. Intern steht dieser vor dem ersten sichtbaren Parameter.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat