Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wie dynamischer Vorfahr für generische Klasse? (https://www.delphipraxis.net/149136-wie-dynamischer-vorfahr-fuer-generische-klasse.html)

himitsu 15. Mär 2010 22:15

Re: Wie dynamischer Vorfahr für generische Klasse?
 
Liste der Anhänge anzeigen (Anzahl: 4)
*ahhhhhhhhhhh* manchmal könnte man einfach nur schreien :wall:

Hab mal alles etwas umgestellt,
der Compiler meint es ginge jetzt,
aber beim Erstellen eines Testprojektes,
meint er urplötzlich nach dem Testcode (hier sogar nach dem END. der DPR)
Delphi-Quellcode:
[DCC Fataler Fehler] Project4.dpr(23): F2084 Interner Fehler: AV21F90C39-W00000014-1
Eigentlich hätte ja sowas ausgereicht, aber da es keine Möglichkeit gibt PTheRecord zu dereferenzieren...
Delphi-Quellcode:
TDoubleLinkedList<PTheRecord {: ^Record}> = Record
Nja, und Pointer ist keine gültige Beschränkung.
Delphi-Quellcode:
TDoubleLinkedList<PTheRecord: Pointer> = Record

Wenn ich aber nur den Record übergebe und den Pointer intern deklariere,
Delphi-Quellcode:
TDoubleLinkedList<TheRecord: Record> = Record
Private
  Type PTheRecord = ^TheRecord;
dann schlägt im Testcode die stenge Typenprüfung von Delphi zu
Delphi-Quellcode:
[DCC Fehler] Project4.dpr(19): E2010 Inkompatible Typen: 'PMyRec' und 'TDoubleLinkedList<TMyRec>.PTheRecord'


So, den Rest der Woche werde ich wohl keine, bzw. nicht genug Zeit haben, um (richtig) zu Programmieren. :?
Also mal sehn wann/ob ich hier wieder dazukomme weiterzumachen.


[edit]
OK, wenn man auf die Idee kommt, den internen Pointer rauszulassen, dann geht es urplötzlich :stupid:
Delphi-Quellcode:
TMyRec = Record
  List: TDoubleLinkedList<TMyRec>;
  Data: Integer;
End;
PMyRec = TDoubleLinkedList<TMyRec>.PRecord;
anstatt
Delphi-Quellcode:
PMyRec = ^TMyRec;
TMyRec = Record
  List: TDoubleLinkedList<TMyRec, PMyRec>;
  Data: Integer;
End;


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.
Seite 3 von 3     123   

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