Autor Beitrag
Jakane
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 257



BeitragVerfasst: Di 11.12.12 16:29 
Hallo liebe Delphi-Helfer :)

Ich habe eine globale Funktion die den Inhalt eines RavePrintDialogs (vermutlich von meiner Firma eine selbst programmierte Komponente) bekommt, auswertet und ein Ergebnis wieder gibt.
Nun will ich in einer Funktion noch ein Filter einbauen, der den Formularnamen als String herausfiltert.

Ich möchte nicht alle Formulare ändern nur damit die Funktion darüber den Formularnamen bekommt.
Wäre das Object ein Schalter, könnte ich mit .Parent auf den Namen zugreifen.

Aber der RavePrintDialog hat diese Eigenschaft nicht, aber jedes Formular das diese Funktion aufruft, hat dieses Objekt.

Gibt es eine Möglichkeit trotzdem herauszufinden, aus welchem Formular die Funktion aufgerufen wurde?

Danke für die Hilfe :)
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Di 11.12.12 16:48 
So ganz hab ich nicht verstanden, was Du möchtest. Aber kann es sein, dass Du einfach Owner und Parent verwechselst?

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Di 11.12.12 16:49 
Versuch es doch statt über den Parent über den Owner. Wenn die Komponenten zur Designtime platziert werden, sollte das immer das Formular sein.
Jakane Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 257



BeitragVerfasst: Mi 12.12.12 11:03 
:D

jeah es funktioniert.
ich wusste nicht das das das selbe ist :D
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Mi 12.12.12 11:09 
Ist es ja auch nicht. Der Parent ist für die Darstellung und der Owner für die Speicherverwaltung zuständig.
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mi 12.12.12 11:17 
Als Erweiterung zur Antwort meines Vorredners, um den Unterschied vielleicht besser zu verstehen:
Wenn Du auf ein Formular ein Panel legst, und auf das Panel ein Button, dann sieht es so aus:

ausblenden Quelltext
1:
2:
3:
4:
Komponente  Owner  Parent
--------------------------
Panel       Form   Form
Button      Form   Panel


Die Eigenschaft "Owner" erbt das Control von TComponent.
Parent kommt von TControl.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)


Zuletzt bearbeitet von Nersgatt am Mi 12.12.12 11:29, insgesamt 1-mal bearbeitet
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Mi 12.12.12 11:28 
Außerdem ist Owner vom Typ TComponent, Parent aber vom Typ TWinControl, d.h. während man als Owner eine beliebige Komponente angeben kann, muss der Parent ein Fensterhandle besitzen. TComponent besitzt eine Components-Eigenschaft, in der alle Komponenten stehen, deren Owner sie ist, zusätzlich verfügt TWinControl noch über die Controls-Eigenschaft, in der dann diejenigen stehen, deren Parent sie ist.