![]() |
Delphi-Version: 2010
E2467 Record oder Objekttyp erforderlich
Delphi-Quellcode:
TMyClass = class
private FField: TMyObject; public property Field: String read FField.OtherField; end; Zitat:
Daß es mit Records funktioniert weiß ich, aber laut der Fehlermeldung soll es angeblich auch mit Objekten funktionieren. Aber irgendwie geht das nicht, siehe Fehlermeldung. :stupid: Ist jetzt die Fehlermeldung falsch oder ist Delphi defekt? > Delphi 2010 und XE Benötigen tu ich es nicht unbedingt, aber es wäre nett gewesen. Ansonsten hab ich es eben weiterhin (so wie man es schon immer macht) über einen Getter gelöst. Und eigentlich interessiert mich nur der grobe Grund für diese Fehlermeldung ... also rein aus Neugier. Aber ansonsten scheint sich das noch keiner gefragt zu haben, jedenfalls was nichts mit der deutschen Fehlermeldung zu finden und der Fehlerkot wird auch für andere Fehler misbraucht. |
AW: E2467 Record oder Objekttyp erforderlich
Dein TMyObject ist sicher eine Klasse und kein Objekt und daher die Fehlermeldung.
Die Fehlermeldung müsste sonst E2018 ("E2018 Record, Objekt oder Klassentyp erforderlich") lauten, wenn Klassen unterstützt würden. Folgendes compiliert:
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE} type TFoo = object X: Integer; end; TBar = record Y: Integer; end; TFooBar = class(TObject) private FFoo: TFoo; FBar: TBar; public property FooX: Integer read FFoo.X; property BarY: Integer read FBar.Y; end; begin end. |
AW: E2467 Record oder Objekttyp erforderlich
Hmmmm, ich hatte es jetzt 2-3 Mal versucht und immer wurde die Objektvariable mit obiger Meldung bemängelt.
Aber dein Beispiel geht wirklich. :gruebel: Und waren auch immer Objekte, wobei mir grad einfällt, daß ich auf Property zugreifen wollte, wenn ich aber dein Beispiel umbaue (mit und ohne Getter), dann kommt hier eine andere Meldung.
Delphi-Quellcode:
type
TFoo = object X: Integer; end; TBar = record Y: Integer; property Z: Integer read Y; end; TFooBar = class(TObject) private FFoo: TFoo; FBar: TBar; public property FooX: Integer read FFoo.X; property BarY: Integer read FBar.Z; end; Zitat:
[edit] komisch, im XE kommt nun auch die andere Fehlermeldung, bei diesem Testcode. Ich finde aber die Stelle nicht mehr, wo ich es gessern in unserem Programm probieren wollte. :oops: Wenn ich wieder mal darauf komm, dann meld ich mich wieder. (falls ich's nich vergeß') |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 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