AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Speichern eines Objekts mit einer Liste von Objekten im DFM
Thema durchsuchen
Ansicht
Themen-Optionen

Speichern eines Objekts mit einer Liste von Objekten im DFM

Ein Thema von RSE · begonnen am 13. Apr 2010 · letzter Beitrag vom 16. Apr 2010
 
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#1

Speichern eines Objekts mit einer Liste von Objekten im DFM

  Alt 13. Apr 2010, 08:12
Hallo!

Ich entwickle gerade eine neue Komponente und beschäftige mich nun erstmals mit Property Editoren, Component Editoren, der Speicherung von eigenen Objekten im DFM etc.

Hintergrundinfos:
Meine Komponente (TMyComp) hat eine Items-Property, in der ein Objekt (TMyItemList) gespeichert ist, welches eine Liste von eigenen Objekten (TMyItem) in einem dynamischen Array verwaltet. Die Eigenschaft TMyComp.Items soll im Objektinspektor angezeigt werden, um an den Component Editor ranzukommen, weiter nichts (Realisierung ist bereits geglückt). In diesem Component Editor wird TMyItemList mit TMyItems gefüllt, ähnlich wie bei einer ActionList. Später möchte ich die TMyItem-Objekte auch im Objektinspektor anzeigen können, wenn sie in meinem Component Editor ausgewählt sind.

Fragen:
Wie muss ich TMyComp.Items, welches vom Typ TMyItemList ist, im DFM speichern? Wie muss ich die TMyItem-Objekte in TMyItemList speichern, damit ich sie später im OI anzeigen lassen kann? Ich habe schon DefineProperties (Eigene Property - Zur Runtime wieder zurückgesetzt) gefunden und mir die Hilfe dazu durchgelesen, bin mir allerdings noch etwas unsicher, ob das die richtige Lösung für mich ist und wie ich das anwenden muss (in TMyComp für Items und in TMyItemList für das Array-Property mit den TMyItem-Objekten?).

Delphi-Quellcode:
TMyItem = class // könnte man auch z.B. von TComponent ableiten, wenn notwendig
  ...
end;

TMyItemList = class // könnte man auch z.B. von TComponent ableiten, wenn notwendig
  private
    FItems: array of TMyItem;
  protected
    function GetItem(Index: Integer): TChoiceGroupItem;
    ...
  public
    procedure Clear;
    function Count: Integer;
    procedure Delete(AIndex: Integer);
    ...
    property Item[Index: Integer]: TMyItem read GetItem; default;
end;

TCustomMyComp = class(TCustomControl)
  private
    FItems: TMyItemList;
    ...
  public
    ...
    property Items: TMyItemList read FItems;
end;
Umgebung: Delphi 5 auf WinXP
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat
 


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 01:33 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