Einzelnen Beitrag anzeigen

Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#21

Re: Methoden einer Kompo überschreiben ohne eigene abzuleite

  Alt 28. Aug 2005, 21:58
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
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat