![]() |
Methoden nun doch für Records?
Hallo, ihr fleißigen User,
folgenden Record habe ich deklariert:
Delphi-Quellcode:
Nun kann man diesen TTest-Record wie einen gewöhnlichen Record verwenden, wobei sich die Felder so verhalten, wie man es von ihnen erwartet.
type
TTest = Record private Feld1: Integer; Feld2: Integer; public Feld3: Integer; procedure Clear; end; implementation procedure TTest.Clear begin Feld1:=0; Feld2:=0; Feld3:=0; end; Weiß nicht, ob das nun bei jedem hier funktioniert. Bei mir funktionierte es jedenfalls. Ist das nun eine Methode eines Records oder wie nennt man das nun und ist diese Methode identisch mit einer Object-Methode? In der Hilfe zu Delphi und auch hier habe ich nichts dazu gefunden. :gruebel: :wiejetzt: |
Re: Methoden nun doch für Records?
Eigentlich wird (ab D10) nur Klassenoperatoren unterstützt.
Welche Delphiversion? .Net? |
Re: Methoden nun doch für Records?
Hallo,
ich weiss nicht was du für eine Delphi Version hast, aber bei mir geht das weder mit D7 noch mit D2005. Ausserdem widerspricht das ganz klar der Object Pascal Grammatik.
Delphi-Quellcode:
All die auskommentierten Zeilen sind fehlerhaft! Wobei das bei der Procedure im implementation Teil klar ist.
type
TTest = Record // private Feld1: Integer; Feld2: Integer; // public Feld3: Integer; // procedure Clear; end; TForm1 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} //procedure TTest.Clear //begin // Feld1:=0; // Feld2:=0; // Feld3:=0; //end; Ihr fehlt ja die Deklaration! Grüsse Rainer |
Re: Methoden nun doch für Records?
Guten Morgen,
Ja! Das hatte ich fast erwartet. Meine Delphi-Version ist von CodeGear - Delphi 2007. Liegt wohl an der Version, denn in einer älteren Version funktionierte diese Art der Deklaration nicht. Trotz dieser Neuerung ist selbst nach intensiver Suche in der Delphi-Hilfe nichts darüber zu finden. Bin auch mehr oder weniger nur zufällig darüber gestolpert. Gruß Frank |
Re: Methoden nun doch für Records?
Sorry, aber ich konnte das soeben unter Delphi2007Professional nachstellen!!!
Bis auf ein fehlendes ";". Es lässt sich so komplilieren!. Faszinierend!! Aber klar ist doch hoffentlich, daß man davon tunlichst die Finger lassen sollte!!! :???: |
Re: Methoden nun doch für Records?
Zitat:
Gruß Frank |
Re: Methoden nun doch für Records?
Hallo,
ich sehe überhaupt keinen Grund ein solches Konstrukt einzusetzen. Was soll das Ganze denn vereinfachen? Mal ganz davon abgesehen, dass du nie genau weisst was passiert. (Es sei denn du analysierst das Teil auf Assembler Ebene. Viel Spass dabei.) Grüsse Rainer |
Re: Methoden nun doch für Records?
Zitat:
Und was soll seltsam sein? Alle Features von einem richtigen Objekt sind trotzdem nicht möglich. Schon mal versucht von diesem Record eine ableitung zu machen? |
Re: Methoden nun doch für Records?
Das kompiliert auch unter BDS2006.
Zitat:
Zitat:
Zitat:
Schau mal in der Hilfe unter 'Records (erweiterte)'. Zitat:
|
Re: Methoden nun doch für Records?
Hallo,
hier ist ein mögliches Einsatzgebiet für Records mit Methoden: ![]() Der Artikel zeigt auch, daß Records deutlich weniger Verwaltung erfordern - so wie es alzaimar bereits angesprochen hat. Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 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 by Thomas Breitkreuz