Naja, das stimmt. Das mit dem Hergeben ist so eine Sache, deshalb habe ich mich mal fast entschlossen mein Proggy nicht herzugeben, zumindest einstweilen
Ich habe zwar in den Sourcen rumgewurschtelt, jetzt aber erkannt, dass das nicht die saubere Lösung ist und deshalb möchte ich die Änderungen in mein eigenes Projekt einbauen.
Nun nochmal zur Erklärung des "Problems", am Beispiel irgend eines anderen Objekts, z.B. TMainKompo. Die ganzen Units usw. von TMainKompo haben noch andere Komponenten dabei, z.B. TSubKompo1 und TSubKompo2.
TMainKompo.Prop1 ist vom Typ TSubKompo1, TMainKompo.Prop2 vom Typ TSubKompo2. Ich lade also diesen ganzen Source irgendwo runter und möchte jetzt zu TMainKompo noch eine Eigenschaft Prop3 hinzufügen, zu TSubKompo1 noch Prop11 und zu TSubKompo2 noch Prop21.
Jetzt würde ich gerne kurz schreiben, z.B.:
Delphi-Quellcode:
type
TKompo = class(TKompo)
property Prop3: Integer;
end;
TSubKompo1 = class(TSubKompo1)
property Prop11: Integer;
end;
TSubKompo2 = class(TSubKompo2)
property Prop21: Integer;
end;
Nur geht es eben nicht ganz so. Wenn ich meine eigenen Kompos ableite müsste ich nun noch etwas hinzufügen:
Code:
type
TMyKompo = class(TKompo)
[color=#ff0000] property Prop1: TMySubKompo1;
property Prop2: TMySubKompo2;[/color]
property Prop3: Integer;
end;
TMySubKompo1 = class(TSubKompo1)
property Prop11: Integer;
end;
TMySubKompo2 = class(TSubKompo2)
property Prop21: Integer;
end;
In diesem Fall wären es nur 2 Zeilen, in anderen Fällen könnten es aber auch mehr sein...
Zum Schluss noch zur Verdeutlichung, den Code den ich mir irgenwo runtergeladen habe:
Delphi-Quellcode:
type
TKompo = class(TObject)
property Prop1: TMySubKompo1;
property Prop2: TMySubKompo2;
property Haha1: String;
end;
TSubKompo1 = class(TObject)
property Haha11: String;
end;
TSubKompo2 = class(TObject)
property Haha21: String;
end;
Klarer Weise sind das alles nur Beispiele, die Sinnhaftigkeit der Kompos ist also anzuzweifeln
Ich hoffe, jetzt habe ich mich verständlich ausgedrückt, sonst bitte nochmal rückfragen!!
LG & gute Nacht dann... , ich
Edit: Achja, @tommie-lie: deinen Beitrag habe ich nicht übersehen, ich schau mir dann den Link morgen oder so an!
Edit2: Tippfehler ausgebessert