![]() |
Problem bei der Vererbung im alten Objectmodell von Pascal
Hallo,
ich habe gerade eine Problem mit dem alten Objectmodell von Pascal. (Ich denke amn sollte dieses nicht verwenden, aber ich denke, das es unmöglich ist eine Klassse von einem Object erben zu lassen -> Wenn das doch geht,... ich bin dankbar für jeden Tip :P ) Das Basisobject sieht im Prinzip so aus:
Code:
Ein zweites Object erbt von OBJ1
type OBJ1 = Object
Nr : Integer; aStr : String; procedure Open; ... end;
Code:
Bei der Zuweisung von aStr in OBJ2.Open bekomme ich immer eine Fehlermeldung, des es keinen Zugriff darauf gibt. Wenn ich allerdings aStr in OBJ1 als String[100] deklariere, dann funktioniert das.
type OBJ2 = Object (OBJ1)
procedure Open; ... end; ... ... ... procedure OBJ2.Open; begin Nr := 5; aStr := 'Teststr'; ... end; Ich will ja nicht ausschliessen, das ich da was falsch verstanden habe, aber eigendlich erbt OBJ2 doch alle Datenfelder und Methoden von OBJ1. Das Datenfeld (Variable) Nr kann ich ja auch mit werten belegen. Delphi kümmert sich doch selbständig um die besorgung von Speicher beim einsatz von Strings. Wie gesagt, ich bin für jeden Tip dankbar. :P |
Re: Problem bei der Vererbung im alten Objectmodell von Pasc
Die Deklaration eines Typs heißt noch lange nicht, daß auf ihn auch zugegriffen werden kann. In deinem Code ist was verkehrt. 8) Schaue Dir mal public usw. an.
|
Re: Problem bei der Vererbung im alten Objectmodell von Pasc
Vielen Dank für dei schnelle Antwort.
Ich habe die Datenfelder von OBJ1 öffentlich, durch einfühgen von public gemacht. Leider ohne erfolg. :cry: |
Re: Problem bei der Vererbung im alten Objectmodell von Pasc
Vermutlich sind sie aber trotzdem nicht da. 8) Also gehts weiter mit Create.
|
Re: Problem bei der Vererbung im alten Objectmodell von Pasc
Zitat:
Wie gesagt, es handelt sich dabei um das 'alte Objectmodell' das wohl 1989 von Turbo Pascal eingeführt wurde. Einer der grundlegenden Unterschiede ist meines erachtens, das man nicht erst einen Konstruktor aufrufen muß. Ausserdem kann ich ja auf alle anderen Datenfelder, die nicht vom Typ String sind zugreifen. Ich denke da eher, das es ein Problem mit String gibt. |
Re: Problem bei der Vererbung im alten Objectmodell von Pasc
Hallo,
ich denke, ich habe das Problem in den Griff bekommen. Wenn man sich eine dynamische Variable auf ein solches Object anlegt und mit new(PObj2) sich das Object anlegen läßt gibt es keine Probleme. Siehe Link: ![]() Gruß Jacki :P |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz