AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

E2467 Record oder Objekttyp erforderlich

Ein Thema von himitsu · begonnen am 3. Feb 2011 · letzter Beitrag vom 4. Feb 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#1

E2467 Record oder Objekttyp erforderlich

  Alt 3. Feb 2011, 23:18
Delphi-Version: 2010
Delphi-Quellcode:
TMyClass = class
private
  FField: TMyObject;
public
  property Field: String read FField.OtherField;
end;
Zitat:
[DCC Fehler] Unit2.pas(50): E2467 Record oder Objekttyp erforderlich
(beim FField.O )

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.

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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
USchuster

Registriert seit: 12. Sep 2010
Ort: L.E.
120 Beiträge
 
Delphi XE3 Professional
 
#2

AW: E2467 Record oder Objekttyp erforderlich

  Alt 4. Feb 2011, 07:32
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#3

AW: E2467 Record oder Objekttyp erforderlich

  Alt 4. Feb 2011, 07:52
Hmmmm, ich hatte es jetzt 2-3 Mal versucht und immer wurde die Objektvariable mit obiger Meldung bemängelt.
Aber dein Beispiel geht wirklich.

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:
[DCC Fehler] Project1.dpr(25): E2562 Feldbezeichner erforderlich
in meinem Delphi 2010 ... werd' es dann gleich auf Arbeit nochmal mit dem XE probieren.

[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.

Wenn ich wieder mal darauf komm, dann meld ich mich wieder. (falls ich's nich vergeß')
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Feb 2011 um 09:59 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz