Thema: Delphi TShape markieren

Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: TShape markieren

  Alt 16. Jun 2006, 10:47
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:
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat