| |
Anzeigen |
|
|
Social Bookmark Script |
|
|
|
 |
Ansprache einer View |
Roman Köhler
Administrator
    

Dabei seit: 29.08.2007
Beiträge: 202
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Mannheim Betriebssystem: Windows XP
 |
|
Hallo,
ich habe in meiner DataDictionary-Klasse eine Funktion, die in der dbView-Klasse definiert ist.
Habe ich nun ein View-Objekt ( in dem DataDictionary-Objekte definiert sind ), klappt der Aufruf aus den DD-Objekten nicht. Klar, da in sämtlichen Vorfahren der DD-Klasse diese Funktion nicht definiert ist, sondern in dem umschließenden Objekt dbView.
xyz_View ( hier ist die Funktion mno definiert)
--- abc_dd ( hier soll sie aufgerufen werden)
Da ich die Funktion und ihren Aufruf in den Klassen definiert haben muss, der Name des dbView-Objektes aber logischerweise immer unterschiedlich ist, kann ich in der DD-Klasse kein festes Objekt als Bezugsadresse eingeben.
Mir fehlt also die Möglichkeit in der DD-Klasse allgemein auf eine Funktion der umschließenden dbView-Klasse zuzugreifen. Mit move (mno(Self)) to Datei.Feld geht es nicht, mit (mno(server(self))) auch nicht.
Hat jemand die rettende Idee?
Danke
Roman
|
|
29.01.2008 09:35 |
|
|
EddyKleinjan
Grünschnabel
Dabei seit: 29.01.2008
Beiträge: 1
 |
|
Hallo Ramon,
Was man hier benutzen könnte ist das Prinzip von 'Delegation'. Das heisst wenn eine Objekt ein Bericht nicht versteht, wird es automatisch an seine 'Vater' versendet. Beispiel:
Object oPartent ...
Function Foo Returns integer
...
End_Function
Object oXyz is a cXyzDataDictionary
Procedure SpecialProzedure
Integer iInt
Get Foo to iInt
End_Procedure
End_Object
End_Object
Wenn mann die Move (Foo(Self)) Syntax benutzen möchte, soll man die Function zuerst registrieren in die DataDictionary class weil die Function an diesen moment noch nicht definiert ist.
So wie:
Register_Function Foo Returns Integer
Eddy Kleinjan
P.S. Deutsch ist nicht mein Muttersprache... :-)
|
|
29.01.2008 11:03 |
|
|
Roman Köhler
Administrator
    

Dabei seit: 29.08.2007
Beiträge: 202
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Mannheim Betriebssystem: Windows XP
Themenstarter
 |
|
Hi Eddie,
erst mal, schön, dass Du zu uns gefunden hast.
Ich habe selbstverständlich Deinen Tipp gleich ausprobiert und, wie nicht anders zu erwarten, klappt es natürlich. Deshalb meinen herzlichen Dank in die Niederlande.
Liebe Grüße
Roman
|
|
30.01.2008 16:11 |
|
|
|
|
|
 |
|