AGB  ·  Datenschutz  ·  Impressum  







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

Verstecken von Properties bei Ableitung

Ein Thema von leddl · begonnen am 7. Apr 2005 · letzter Beitrag vom 8. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#1

Verstecken von Properties bei Ableitung

  Alt 7. Apr 2005, 19:39
Servus miteinander, ich bins wieder!

Ich möchte eine Komponente von TStringGrid ableiten. Allerdings will ich, daß bestimmte StringGrid-Properties (zB Cells) nur noch intern nutzbar sind.
Ist das irgendwie möglich? Oder müßte ich dafür meine Komponente von etwas anderem ableiten und diese Properties neu implementieren?
Der Sinn der dahinter steckt ist, daß ich die Funktionalität dieser Eigenschaften evtl benötige, aber nicht will, daß der Verwender der Komponente darin herumpfuschen kann.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Verstecken von Properties bei Ableitung

  Alt 7. Apr 2005, 19:41
Hi,
so einfach geht das nicht. Soweit ich weiß musst du von TCustomStringGrid oder TCustomGrid ableiten. Dann kannst du durch einfaches redefinieren von Eigenschaften ihre Sichtbarkeit verändern.

Chris
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#3

Re: Verstecken von Properties bei Ableitung

  Alt 7. Apr 2005, 19:43
Delphi-Quellcode:
  private
    property Foo;
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Verstecken von Properties bei Ableitung

  Alt 7. Apr 2005, 19:58
Oh je. Diese Frage ist gar nicht so leicht zu beantworten. 8) Für so was sind die VCL-Sourcen gedacht. Da mußt du mal nachsehen. Insbesondere, als was halt irgendwas deklariert/abgeleitet ist. Was sind die Cells überhaupt ?

Das schlimmste wäre, auf einen Vorfahren zurückzugehen und dann das halbe Stringgrid nachzubauen und anzupassen. Beinahe katastrophal wäre es die VCL selber umzubauen und die Cells ins private zu verschieben. @Nicode : ich glaube fast nicht, daß das sich so einfach verschieben läßt.

@Leddl : ein Stringgrid ist nicht so ganz ohne für eigene Komponente.

OT : Die Funktion zwischenzeitliche Beiträge zu bemerken ist echt von Vorteil. Und es wird sogar festgestellt, falls nach einem noch einer da ist. Nachteil ist, daß man den Beitrag eventuell vorm Abschicken 10mal aktualisieren muß.

[Edit]3 mal editiert
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Verstecken von Properties bei Ableitung

  Alt 7. Apr 2005, 20:12
Danke für die Antworten, hätt ich eigentlich auch selbst drauf kommen können.
Werds mal so versuchen. Das TCustomStringGrid beinhaltet dann also alle Eigenschaften des StringGrids, die ich dann nur noch redklarieren muß?

@Hansa:
Cells ist einfach nur ein 2-dimensionales Array of String

//Edit:
Hm, wenn ich von TStringGrid ableite und das so mache
Delphi-Quellcode:
private
  property Cells;
dann kann ich später Cells trotzdem noch ansprechen.
Oder muß ich die property-Deklaration vollständig schreiben?

Und TCustomStringGrid scheints ja gar nicht zu geben, kann das sein? Zumindest kann ich davon nicht ableiten...
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Verstecken von Properties bei Ableitung

  Alt 7. Apr 2005, 20:42
Zitat von leddl:
...Das TCustomStringGrid beinhaltet dann also alle Eigenschaften des StringGrids, die ich dann nur noch redklarieren muß?...
Bloß redeklarieren ? Was soll das sein ? Ich gehe eher davon aus, daß die Methoden abstract deklariert sind. So wie es sich gehört. 8) Und somit komplett selber definiert werden müssen Zur Laufzeit kriegst Du dann sehr hübsche, sehr schwer zu lokalisierende Fehlermeldungen. Na dann : viel Vergnügen.

Genaue Aufklärung werden wohl nur die VCL Sourcen liefern. Das Stringgrid als eigene Komponente umzubauen, das wäre doch mal was. Bräuchte auch noch ein spezielles. Allerdings mache ich bei sowas folgende Rechnung auf :

- fertige Komponente nirgends zu erhalten : selber machen oder anders

- fertige Komponente ist zu haben und auch brauchbar (z.B. mit Source) : Suchzeit+Einarbeitungszeit+Anschaffungskosten+ dumm fragen + warten <= (billiger als) Eigenentwicklung -> kaufen

sonst : selber machen oder irgendwie anders
Gruß
Hansa
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#7

Re: Verstecken von Properties bei Ableitung

  Alt 8. Apr 2005, 10:31
Zitat von leddl:
Hm, wenn ich von TStringGrid ableite und das so mache
Delphi-Quellcode:
private
  property Cells;
dann kann ich später Cells trotzdem noch ansprechen.
In der gleichen Unit kannst Du auf die privaten Member einer anderen Klasse zugreifen (sowas wie 'friend' aus anderen Sprachen).
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Verstecken von Properties bei Ableitung

  Alt 8. Apr 2005, 11:13
Das is mir schon klar, so ein Anfänger bin ich auch wieder nicht.

Ich meinte später, wenn ich die Komponente in mein Projekt eingebunden habe. Da kann ich trotzdem Cells noch ansprechen.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#9

Re: Verstecken von Properties bei Ableitung

  Alt 8. Apr 2005, 11:41
Zitat von leddl:
Ich meinte später, wenn ich die Komponente in mein Projekt eingebunden habe. Da kann ich trotzdem Cells noch ansprechen.
Du darfst eine einmal veröffentlichte Eigenschaft nicht mehr privatisieren. Das ist gegen jegliche OOP-Regeln!
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Verstecken von Properties bei Ableitung

  Alt 8. Apr 2005, 11:45
Das mag ja sein, nur möchte ich eben die Funktionalität eines TStringGrids haben, ohne alles neu implementieren zu müssen.

Aber anscheinend ist das so ohne weiteres nicht möglich? OK, dann werd ich das irgendwie anders lösen müssen. Trotzdem danke für die Hilfe.

Falls aber noch jemand ne Idee haben sollte: Immer her damit!
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:14 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