*ahhhhhhhhhhh* manchmal könnte man einfach nur schreien
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)
[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...
TDoubleLinkedList<PTheRecord {: ^Record}> = Record
Nja, und Pointer ist keine gültige Beschränkung.
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
[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
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;