Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Typecast Problem
McC - Do 03.04.03 14:33
Titel: Typecast Problem
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| type TNode=record next, prev: ^TNode; value: TObject; end;
PNode: ^TNode; TLinkedList = class //werte etc first, last: PNode; //blabla end; |
so in etwa sieht die Listendefinition aus, die funktioniert so weit auch. Aber dann, in ner anderen Unit:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure DrawFunction1(Werte: TMesswerte); var Cursor_Messreihe: PNode; //Cursor zur Angabe der betrachteten Messreihe Cursor_Messwerte: PNode; //Cursor zum Auslesen der Messwerte in einer Messreihe punkt:TMesspunkt; begin Cursor_Messreihe := Werte.Daten.first; while Cursor_Messreihe <> nil do begin Cursor_Messwerte := TDoubleLinkedList(Cursor_Messreihe^.value).first; Punkt := TMessPunkt(Cursor_Messwerte^.value); while Cursor_Messwerte <> nil do begin |
Der Typecast auf TDoubleLinkedList klappt, der auf TMessPunkt aber nicht. Hat jemand ne Idee woran das liegen kann??
maximus - Do 03.04.03 14:37
Hi.
Quelltext
1:
| Punkt := TMessPunkt(Cursor_Messwerte^.value); |
Cursor_Messwerte ist ja auch vom typ PNode...ergo kein wunder, dass er es mit TMessPunkt nicht will!
Edit: Vielleicht postest du mal die deklaration der anderen typen!
AndyB - Do 03.04.03 17:27
Eine bessere Lösung, bei der du dir die Typecasterei sparen kannst ist folgende:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| type TLinkedList = class; // forward declaration
PNode = ^TNode; TNode = record next, prev: PNode; value: TLinkedList; end;
TLinkedList = class //werte etc first, last: PNode; //blabla end; |
McC - Fr 04.04.03 13:11
maximus hat folgendes geschrieben: |
Hi.
Quelltext 1:
| Punkt := TMessPunkt(Cursor_Messwerte^.value); |
Cursor_Messwerte ist ja auch vom typ PNode...ergo kein wunder, dass er es mit TMessPunkt nicht will! |
Ja, Cursor_Messwerte ist vom Typ PNode, aber Cursor_Messwerte^.value ist doch TObject oder nicht?
@AndyB: Wenn ich den Wert der Listenobjekte vom Typ der Liste definiere bekomme ich ja nie Daten am Ende. Das ganz soll ja so aussehen, dass man in diesem Fall quasi zwei verschachtelte Listen hat, also eine Liste von Listen, und in diesen Listen dann Werte vom Typ TMesspunkt...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!