Einzelnen Beitrag anzeigen

blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#1

Objekt als Komponenteneigenschaft

  Alt 11. Okt 2010, 15:26
Hallo!

Ich entwickel zur Zeit eine Komponente "SelDir" mit der man einen Ordner von der Festplatte auswählen kann. Jetzt möchte ich zu dieser Komponente eine neue Komponente "SelDirDialog" machen, die aus einem Fenster mit einer "SelDir" Komponente, einem OK- und Abbrechen-Knopf besteht. Das ganze sollte dann eine nicht-visuelle Komponente mit einer Execute-methode werden, wie die Dialog-Komponenten von Delphi.
Mein Problem ist nun, dass alle Optionen des Dialogs eigentlich schon in der "SelDir"-Komponente stecken. Zum Beispiel der ausgewählte Pfad ist eine Eigenschaft von "SelDir". Um darauf zugreifen zu können müsste ich also der "SelDirDialog"-Komponente eine Eigenschaft Pfad geben, die dann den Pfad von der "SelDir"-Komponente zurückgibt. Ich müsste also letztendlich fast alle Eigenschaften von "SelDir" in "SelDirDialog" reinkopieren.

Um das zu verhindern hab ich mir überlegt ich mach in "SelDirDialog" folgende Eigenschaft:
Delphi-Quellcode:
   published
      property SelDir: TSelDir read FSelDir;
Das Problem ist jetzt nur, dass die im Objektinspektor eingestellten Eigenschaften von SelDir keine Wirkung haben. Wenn ich die Komponente "SelDirDialog" zur Entwicklungszeit in mein Formular ziehe wird Create aufgerufen und eine "SelDir"-Komponente erzeugt. Sobald das Programm gestartet wird, passiert das gleiche nochmal und die "SelDir"-Komponente hat wieder Standardeinstellungen.

Ich steh wirklich aufm Schlauch und komm hier einfach nicht weiter. Alle Eigenschaften kopieren möchte ich wenns geht nicht, denn sobald ich eine Eigenschaft der "SelDir"-Komponente änder (die sich ja noch in der Entwicklung befindet) muss ich dieselbe Änderung auch an der "SelDirDialog"-Komponente vornehmen.

Habt ihr Ideen was ich hier (stattdessen) machen könnte?

Grüße
blablab

Geändert von blablab (11. Okt 2010 um 16:02 Uhr)
  Mit Zitat antworten Zitat