![]() |
IDE Problem mit Recorddefinition (Delphi.NET)
Hallo,
also ich versuche folgendes, was vom Prizip auch funktioniert (lässt sich ohne Fehler kompilieren):
Delphi-Quellcode:
Nun das was stört. Sobald ich irgendwo (nach der Definition) die Entertaste betätige, wird ein zusätzliches end; eingefügt. Beispiel:
unit Beispiel;
interface type Record1 = record; Record2 = record; Record1 = record end; Record2 = record end; implementation end.
Delphi-Quellcode:
Wie kann man das Abstellen?
unit Beispiel;
interface type Record1 = record; Record2 = record; Record1 = record end; Record2 = record end; implementation end; end. Sobald ich jetzt noch Querverweise einfügen und kompiliere verabschiedet sich meine IDE ohne Fehlermeldungen. Beispiel:
Delphi-Quellcode:
Bei der Definition von Klassen gibt es keine derartigen Probleme.
unit Beispiel;
interface type Record1 = record; Record2 = record; Record1 = record Rec2: Record2; end; Record2 = record Rec1: Record1; end; implementation end; end. |
Re: IDE Problem mit Recorddefinition (Delphi.NET)
hast du schonmal einen Typ davon angelegt? Ich bezweifel dass, das dann richtig funktioniert. Denn laut der Definition ist es was endloses (In Record1.Record2.Record1.Record2.Record1.Record2... .....)
Also eigentlich supi das die IDE da rum spinnt. |
Re: IDE Problem mit Recorddefinition (Delphi.NET)
Zitat:
|
Re: IDE Problem mit Recorddefinition (Delphi.NET)
Und für den Fall, das es nicht möglich ist einen entsprechenden Querverweis zu verwenden, warum wird das dann nicht als Fehler durch die IDE dargestellt? Ein sang- und klanloser Abschied ist nicht gerade die feine Art auf Fehler aufmerksam zu machen.
|
Re: IDE Problem mit Recorddefinition (Delphi.NET)
bei klassen klappt das weil eine Klasseninstanz nur ein Pointer auf daten ist. Und solange die Klasse nicht erzeugt wird wird auch die Unterklasse nicht erzeugt.
|
Re: IDE Problem mit Recorddefinition (Delphi.NET)
Du konntest die Crossreferenz durch Zeiger realisieren.
Delphi-Quellcode:
type
pRec1 = ^Record1; Record1 = record; pRec2 = ^Record2; Record2 = record; Record1 = record Rec2: pRec2; end; Record2 = record Rec1: pRec1; end; |
Re: IDE Problem mit Recorddefinition (Delphi.NET)
gibts diese Pointer denn überhaupt unter .NET?
|
Re: IDE Problem mit Recorddefinition (Delphi.NET)
Ja, es gibt sie. Und Delphi erlaubt sie glaub ich auch einfach so :gruebel: Dabei ist es unsafe-Code und sollte damit nicht verwendet werden :warn:
|
Re: IDE Problem mit Recorddefinition (Delphi.NET)
Zitat:
In diesem Fall sollte er Klassen verwenden. Ist die Frage dann nicht im falschen Bereich? |
Re: IDE Problem mit Recorddefinition (Delphi.NET)
[OT]Die Frage ist im richtigen Bereich weil es hier darum geht das die IDE fehlerhafter weise ein "end" setzt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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