Von DataObject vererben

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

Antworten
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Von DataObject vererben

Beitrag von andreas »

Hallo,

ich möchte gerne eine neue Klasse erstellen, die von DataObject erbt und zus. Methoden und Eigenschaften hat. Leider funktioniert es nicht und die Initialisierung des Objektes bringt das Programm zum Absturz.

Hier ein Beispiel:

Code: Alles auswählen

CLASS Test FROM DataObject

   EXPORTED:

      METHOD Init
      METHOD SetField

ENDCLASS

METHOD Test:Init()

   SUPER:Init()

RETURN SELF

METHOD Test:SetField()

RETURN
Geht das Überhaupt?
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Re: Von DataObject vererben

Beitrag von andreas »

Hier noch die Fehlermeldung:
oError:args :
-> VALTYPE: O CLASS: Test
-> VALTYPE: N VALUE: 3
-> VALTYPE: N VALUE: 3
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Interne Datenstrukturen besch„digt
oError:filename :
oError:genCode : 41
oError:operation : classDescribe
oError:osCode : 0
oError:severity : 2
oError:subCode : 5
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21150
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Von DataObject vererben

Beitrag von Manfred »

bekomme ich auch.
Da bin ich ja mal gespannt.....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9343
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 358 Mal
Kontaktdaten:

Re: Von DataObject vererben

Beitrag von Tom »

Das widerspricht nach meinem Gefühl dem Konzept der DataObjects. Sie sind dynamisch, auch zur Laufzeit, weshalb Vererbung nur wenig Sinn hat.
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Von DataObject vererben

Beitrag von Werner_Bayern »

Servus,

ich meine irgendwo gelesen zu haben, dass das generell nicht geht, Klassen können nicht von DataObjects erben.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Re: Von DataObject vererben

Beitrag von andreas »

Das ist schade!

Also bleibt nichts über, als eine Funktion zu schreiben, die einen DataObject mit zus. Methoden (DefineMethod über Funktionen) erzeugt und zurück gibt!
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Von DataObject vererben

Beitrag von Jan »

Man muß bei DataObjects auch immer im Hinterkopf behalten, die wie Arrays per Referenz arbeiten. Könnte das eventuell zu dem Klassen-Problem führen? Sorry für die vielleicht blöde Frage, aber Ihr wisst ja: Ich und Klassen, zwei Welten prallen aufeinander.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Von DataObject vererben

Beitrag von brandelh »

Oder man schreibt sich eine Klasse, die intern ein DataObject erzeugt und dieses benutzt und auch zurückgeben kann.
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9343
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 358 Mal
Kontaktdaten:

Re: Von DataObject vererben

Beitrag von Tom »

DataObjects sind dynamisch und verändern ihre Struktur (Methoden und Instanzen) zur Laufzeit. Das ist ihre primäre Eigenschaft.

Mit oDataObject:Copy() erzeugt man eine Kopie des jeweiligen Objekts, leitet also quasi direkt ab. Diese Kopie kann man dann wieder zur Laufzeit ergänzen.
Herzlich,
Tom
Antworten