vooooorsicht! Da schleicht sich ein Verständnisproblem ein.
Das "OnClick"-Ereignis ist nur ein Event. Das heisst, es ist nur ein Zeiger auf eine funktion (Funktionszeiger *g*).
shapearray[0].OnCLick := TNotifyEvent(01256);
wäre also durchaus eine zulässige Zuweisung. Alllerdings zeigt der Zeiger dann irgendwo in den reservierten Speicher. Es wird also beim aufruf nix gescheites rauskommen...
Wenn also jetzt ein Control merkt, "
oh, da klickt mich wer", dann schaut es nach, ob ein Ereignis zugewiesen wurde. Wenn ja, wird die verknüpfte Prozedur aufgerufen.
Deshalb:
Delphi-Quellcode:
for i := 0 to high(shapearray) do
shapearray[i].OnClick := ShapeClick;
(Übrigens wird das nicht funktionieren, wenn du die ShapeCLick-prozedur aus meinem vorherigen post nimmst. ShapeClick muss eine Methode sein, also in einer Klasse definiert, also etwa TForm1.ShapeClick)
EDIT: @3_of_8: