hi zusammen,
in meinem aktuellen projekt arbeite ich mit der komponente reportbuilder um verschiedene reports zu erstellen. (nicht erschrecken, meine frage bezieht sich eher auf vererbung als auf die komponente)
ich habe eine klasse, in die eine reportkomponente gebunden ist. durch das einbinden dieses reports werden der Unit neben der komponente selbst auch automatisch zahlreiche "subkomponenten" hinzugefügt.
etwa so
Delphi-Quelltext
1: 2: 3: 4:
| TFrm_X = class(TForm) ppReport: TppReport; ppLabel_A : TppLabel; ppLabel_B : TppLabel; |
von dieser form X will ich nun eine kindklasse ableiten. diese kindklasse Z soll viele funktionen der klasse X nutzen und einige wenige davon überschreiben. zudem soll in diese kindklasse ein eigenständiger report eingebunden werden. auch dieser report ist dem report aus klasse X sehr ähnlich und unterscheidet sich nur in details. deshalb bot es sich an, den report aus X einfach etwas anzupassen und in kind unit Z einzubinden. wie erwähnt trägt der report durch das einbinden seine gesamten komponenten in die unit ein. also habe ich in der kindunit stehen:
Delphi-Quelltext
1: 2: 3: 4:
| TFrm_Z = class(TFrm_X) ppReport: TppReport; ppLabel_A : TppLabel; ppLabel_B : TppLabel; |
ihr seht sicher schon worauf das hinausläuft. der compiler meldet beim create der unit zur laufzeit, dass die komponente ppreport schon existiert. benenne ich sie um, dann besagt die meldung, dass ppLabel_A schon existiert etc.
gibt es eine möglichkeit, das trotzdem so zu realisieren wie ich mir das gedacht habe? sowas wie einen namespace oder so?
will ungern alle komponenten umbenennen, zumal ich dann auch die gesamte vererbte logik anpassen müsste (was dann ja nicht wirklich dem prinzip der vererbung entspricht).
ich nutze delphi 5 (arbeitsplatzbedingt).
ich hoffe jemand kann mir helfen.
vielen dank schonmal!
gruß
Moderiert von
Narses: Delphi-Tags hinzugefügt
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.