AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Wie dynamischer Vorfahr für generische Klasse?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie dynamischer Vorfahr für generische Klasse?

Ein Thema von himitsu · begonnen am 15. Mär 2010 · letzter Beitrag vom 15. Mär 2010
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von himitsu
himitsu

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

Re: Wie dynamischer Vorfahr für generische Klasse?

  Alt 15. Mär 2010, 23:15
*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;
Angehängte Dateien
Dateityp: pas unit4_713.pas (16,8 KB, 2x aufgerufen)
Dateityp: dpr project4_861.dpr (342 Bytes, 0x aufgerufen)
Dateityp: dpr project4_986.dpr (355 Bytes, 0x aufgerufen)
Dateityp: pas unit4_703.pas (15,3 KB, 1x aufgerufen)
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 13:59 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