Autor Beitrag
Stauch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 140

Win 2000, Win XP
D4
BeitragVerfasst: Mi 07.01.04 13:18 
Hallo,

ich brauche mehrere TShape-Objekte mit gleichen Eigenschaften. Dazu wollte ich eine neue Klasse ableiten, um dem Typ TShape noch ein paar passende Methoden zu verleihen. Jetzt habe ich mich aber verfranzt: Welcher Weg ist besser:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
Type TXShape = class(TShape)
  procedure ...
 procedure ...
 end

oder
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Type TXShape = class
    s : TShape
  procedure ...
 procedure ...
 end
[/delphi]

_________________
Geht das? Und wenn ja, warum nicht?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 07.01.04 13:41 
Titel: ???
Hallo!

Also die erste Möglichkeit ist doch gut!

Die zweite Methode wäre umständlich, denn Du müsstest das TShape-Objekt ja auch noch in einem OnCreate Konstruktor extra initialisieren. Zudem müsstest Du beim Aufruf jeweils noch das s einfügen:
ShapeVariable.s.Irgendwas

Die erste Methode ist die, die man normalerweise verwendet, wenn man eine Komponente erstellen will. Es gibt übrigens die Möglichkeit sich das Gerüst einer neuen Komponente erstellen zu lassen.

Dazu gehst Du auf "Komponente" -> "Neue Komponente" und wählst aus, von welchem Typ die Komponente abgeleitet werden soll, hier also TShape. Dann hast Du schon mal alles, was in der Unit stehen muss, und Du musst "nur" noch deine Neuerungen machen. (Es wird hauptsächlich das erstellt, was Du geschrieben hast, aber Du hast dann auch schon die Register Methode.)

MfG,
S.J.
MKehrer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

NT, 2000
D6
BeitragVerfasst: Do 08.01.04 16:50 
Bei der ersten Methode hast Du Zugriff auf die als Protected deklarierten Func´s und Properties von TShape, bei der zweiten nicht.

_________________
Manfred
Was Du siehst ist in Dir (Smile)