Einzelnen Beitrag anzeigen

Corth

Registriert seit: 13. Dez 2005
Ort: bei Tübingen
3 Beiträge
 
Delphi 7 Professional
 
#5

Re: Propertys in einer abgeleiteten Klasse "unsichtbar

  Alt 2. Jun 2006, 14:09
Hallo marabu,
Besten Dank für die schnelle Reaktion. Das habe ich schon vermutet.

Beim Öffnen einer Form (in der IDE) werden ja aus der DFM-Datei die Form und alle Komponenten in diesem Moment "hochgestreamt". Theoretisch müsste es doch möglich sein sich in das Streaming einzuklinken.
So... beim Createprozess einer Komponente wird ja die Procedure DefinePropertys(Filer: TFiler) durchlaufen, hier habe ich die Möglichkeit eigene Proceduren "einzuklinken" wie ReadBinariData(Stream: TStream) und WriteBinäriDate(Stream: TStream), damit hänge ich schon mal dazwischen....

Delphi-Quellcode:
procedure Txxxx.ReadBinaryData(Stream:TStream);
Begin
  ...
End;

procedure Txxxx.WriteBinaryData(Stream: TStream);
Begin
  ....
End;

procedure Txxxx.DefineProperties(Filer: TFiler);
begin
  inherited DefineProperties(Filer)
  Filer.DefineBinaryProperty('NameProperty',ReadBinaryData,WriteBinaryData,fFlagxx);
end;
wäre das nicht doch ein Ansatzpunkt ?




Hallo Union

Zitat:
Du könntest versuchen, die Klassen weiter "aufzudröseln". Also eine Basisklasse (TCustomxxx) von der sich dann mehrere Zweige ableiten (TCustomEditablexxx, TCustomNotEditablexxx). Setzt natürlich voraus, dass dies dann auch klar abgrenzbar ist.
Wenn ich die Propertys in der Vorgängerklasse deklariert habe, kann ich die Eigenschaften ja selbst per protected deklarieren und damit verbergen und erst in der abgeleiteten Klasse dann (published) sichtbar machen. Die geht leider nicht, wenn es sich um eine "fremde" Klasse handelt, welche ich nicht verändern kann. Ansonsten finde ich den Vorschlag gut.


Gruß Ulli
ulli
  Mit Zitat antworten Zitat