AGB  ·  Datenschutz  ·  Impressum  







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

geerbte Eigenschaften nicht im OI anzeigen

Ein Thema von mandumoal · begonnen am 23. Aug 2004 · letzter Beitrag vom 27. Aug 2004
Antwort Antwort
mandumoal

Registriert seit: 20. Feb 2003
124 Beiträge
 
Delphi 5 Professional
 
#1

geerbte Eigenschaften nicht im OI anzeigen

  Alt 23. Aug 2004, 20:44
Hi!

Ist es möglich, einer Komponente beizubringen, dass sie einige geerbte Eigenschaften nicht im Objekt-Inspektor anzeigen soll, also nicht als published übernehmen?

Ich möchte ein TEdit ( -> TMyEdit = class(TEdit) ) ableiten, aber z.B. die Eigenschaft "ShowHint" soll nicht im OI sichtbar sein.

mfg mandumoal
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: geerbte Eigenschaften nicht im OI anzeigen

  Alt 23. Aug 2004, 20:46
aus der delphi-hilfe:
Zitat:
Sie können die Sichtbarkeit eines Elements in einer untergeordneten Klasse durch Redeklarieren erhöhen, jedoch nicht verringern. So kann beispielsweise eine protected-Eigenschaft in einer abgeleiteten Klasse als public deklariert werden, nicht aber als private. Außerdem können published
-Elemente nicht zu public-Elementen gemacht werden.
Dementsprechend ist es nicht möglich ein published-Element aus dem OI zu nehmen, denn dafür müsste seine sichtbarkeit verringert werden, was aber nicht geht.
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Hansa

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

Re: geerbte Eigenschaften nicht im OI anzeigen

  Alt 23. Aug 2004, 20:49
Weiß zwar nicht, was das überhaupt soll. Eventuell kann man es aber einfach von TCustomEdit ableiten.
Gruß
Hansa
  Mit Zitat antworten Zitat
mandumoal

Registriert seit: 20. Feb 2003
124 Beiträge
 
Delphi 5 Professional
 
#4

Re: geerbte Eigenschaften nicht im OI anzeigen

  Alt 24. Aug 2004, 10:44
Zitat von Nothine:
Dementsprechend ist es nicht möglich ein published-Element aus dem OI zu nehmen
schlecht. Aber Danke für die Antwort.

Zitat von Hansa:
Weiß zwar nicht, was das überhaupt soll. Eventuell kann man es aber einfach von TCustomEdit ableiten.
Ich benötige eine Kompo, die wie ein TEdit aussieht, aber eben nur bestimmte Eigenschaften im OI sichtbar sind, da zur Laufzeit eine Form designed wird, aber eben nicht alle Eigenschaften in diesem Laufzeit-OI sichtbar seien sollen.
Wenn ich es von TCustomEdit ableite sind da auch noch sachen drin, die ich nicht haben will.
Ich muss wohl selber ein CustomEdit machen.

Danke für die infos,

mfg mandumoal
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#5

Re: geerbte Eigenschaften nicht im OI anzeigen

  Alt 24. Aug 2004, 10:50
Servus
genau das Thema hatten wir vor kurzem. Bei den TCustom... sind alle Eigenschaften protected, das heist du kannst sie entweder nach puplic "verschieben", so das jeder auf sie zugreifen kann, oder du kannst sie in private stecken.

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Golze

Registriert seit: 26. Aug 2004
Ort: Berlin
32 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: geerbte Eigenschaften nicht im OI anzeigen

  Alt 27. Aug 2004, 17:22
... Eigenschaften von Komponenten können im Objektinstpektor unsichtbar gemacht werden. Im folgenden Beispiel werden die entsprechenden Properties der registrierten Komponente nicht mehr
angezeigt. Das Objekt TMyPanel enthält somit keine Caption, kein Align, kein Alignment.

Delphi-Quellcode:
TMyPanel = class(TPanel)
  private
    { Private-Deklarationen }
    FAlignment: TAlignment;
    FAlign: TAlign;
    FCaption: String;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    property Alignment: TAlignment read FAlignment;
    property Align: TAlign read FAlign;
    property Caption: String read FCaption;
  end;


procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TMyPanel]);
end;
Grüße
Kay

[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
Kay Golze
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: geerbte Eigenschaften nicht im OI anzeigen

  Alt 27. Aug 2004, 17:29
Sie werden zwar nicht mehr angezeigt, aber die Caption kann auch nicht mehr genutzt werden!!
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: geerbte Eigenschaften nicht im OI anzeigen

  Alt 27. Aug 2004, 17:32
außerdem können die eigenschaften immernoch im source abgerufen werden, sie sind nicht wirklich "weg"
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Golze

Registriert seit: 26. Aug 2004
Ort: Berlin
32 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: geerbte Eigenschaften nicht im OI anzeigen

  Alt 27. Aug 2004, 18:35
... die Caption kann wie folgt genutzt werden:
inherited Caption := 'text';

kay
Kay Golze
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:34 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