AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ereignisse in vererbten Klassen

Ein Thema von TH3LL · begonnen am 26. Sep 2006 · letzter Beitrag vom 27. Sep 2006
Antwort Antwort
TH3LL

Registriert seit: 25. Jan 2006
22 Beiträge
 
Delphi 6 Enterprise
 
#1

Ereignisse in vererbten Klassen

  Alt 26. Sep 2006, 22:39
Hallo, ich habe eine Frage zum erstellen von Ereignissen in vererbten oder neuen Klassen.

Als Beispiel:

Ich erstelle mit folgendem Code 300 Objekte des Typs XShape, das nur ein Kind des Typs TShape ist, aber um eine beliebige Prozedur erweitert wurde:
Delphi-Quellcode:
type
  XShape= class(TShape)
    prozedur Beliebig(i:integer);
  end;
...
Delphi-Quellcode:

procedure Starten;
var x:integer;
Shapes:Array[1..300] of XShape;
Begin
  for x:= 1 to 300 do
    Begin
      Xshape:=TShape.Create(Form1);
      Xshape.Parent:=Form1;
    end;
end;
Wie kann ich jetzt ein Event definieren, das Ein Ereignis durch Interaktion mit einem der (ja während der Laufzeit erstellten) XShapes auslöst, wie zum Beispiel XShape[25]Click ?? Also quasi ein Allgemein vordfiniertes Event OnXShapeClick, das mit der Erstellung des XShapes gleich mit erstellt wird?

Ich brauche nämlich auf diese Weise 300 Onclick, Onmousemove, On... und und und..
Ich erstelle die dinger ja schliesslich zur Laufzeit um nicht alle 300 Manuell machen zu müssen

Wisst ihr rat?

Vielen dank schonmal!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ereignisse in vererbten Klassen

  Alt 26. Sep 2006, 22:46
Du willst den XShapes automatsich Eventsmethoden vererben?

Delphi-Quellcode:
procedure TXShape.Klick( Sender: TObject);
begin
...
end;

Constructor TXShape.Create;
begin
 ...
  self.onClick = self.Klick;
...
end;
Markus Kinzler
  Mit Zitat antworten Zitat
TH3LL

Registriert seit: 25. Jan 2006
22 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Ereignisse in vererbten Klassen

  Alt 27. Sep 2006, 06:40
Auf die Idee hätte ich auch kommen können...
Vielen dank!

Musste den constructor zwar umbenennen weil TShape schon einen "Create"-Konstruktor hat, aber jetzt gehts

Danke
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Ereignisse in vererbten Klassen

  Alt 27. Sep 2006, 07:30
Zitat von TH3LL:
Auf die Idee hätte ich auch kommen können...
Vielen dank!

Musste den constructor zwar umbenennen weil TShape schon einen "Create"-Konstruktor hat, aber jetzt gehts

Danke
Du solltest den Constructor eher überschreiben und nicht umbenennen.

Und anstelle das "OnClick" zu zuweisen solltest du lieber die Methode "Click" überschreiben. Ansonsten hättest du ein Problem wenn später jemand im Objectinspektor ein OnClick vergibt. In dem Fall wäre dein OnClick nämlich wieder außer kraft.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz