![]() |
TreeView1.Selected.Data und Typenkonvertierungsfehler
Guten Zusammen.
irgendwie habe ich immer Probleme mit Typenkonvertierungen :twisted:. Bei den Beispiel bekomme ich immer die Meldung: Inkompatible Typen TCLCategory und Char. Irgendwie ist da aber kein Char Typ. TCLCategory ist ein Record nur aus Integern. Und laut Doku ist Data vom Typ Pointer. Das Hinzufügen funktioniert auch. Nur bei Auslesen bekomme ich obigen Fehler. Danke für die Tips.
Delphi-Quellcode:
procedure TForm1.ActionShowCategoryDetailsExecute(Sender: TObject);
var CLCategory:TCLCategory; begin CLCategory:=^TCLCategory(TreeView1.Selected.Data)^; end; |
Re: TreeView1.Selected.Data und Typenkonvertierungsfehler
Delphi-Quellcode:
Type
PCLCategory = ^TCLCategory; TCLCategory = ...; .... procedure TForm1.ActionShowCategoryDetailsExecute(Sender: TObject); var CLCategory: TCLCategory; begin If Assigned(TreeView1.Selected) Then // safety first... Begin CLCategory := PCLCategory(TreeView1.Selected.Data)^; ... End; end; |
Re: TreeView1.Selected.Data und Typenkonvertierungsfehler
hmm... also ich würde ja das so machen:
Delphi-Quellcode:
evtl. sogar
CLCategory := TCLCategory(TreeView1.Selected.Data^);
Delphi-Quellcode:
gute nacht...
CLCategory := TCLCategory(Pointer(TreeView1.Selected.Data)^);
PS: hmpf... wieder einer schneller.. wenigstens geth der rote kasten. PPS: und noch einer?! ach so, editiert... |
Re: TreeView1.Selected.Data und Typenkonvertierungsfehler
Danke DGL-lukeund Muetze1. :bouncing4:
@Muetze1: In Prinzip habe ich doch das Gleiche gemacht.Der einzige Unterschied ist doch, das du noch eine Typ für den typisierten Pointer von TCLCategory als PCLCategory definiert hast. |
Re: TreeView1.Selected.Data und Typenkonvertierungsfehler
Ja, aber einen Zeiger auf einen Typen zu deklarieren um ihn dahinter gleich wieder zu dereferenzieren - heikle Sache. Da kann es sehr gut sein, das da Delphi nicht mitspielt bzw. es falsch parst.
|
Re: TreeView1.Selected.Data und Typenkonvertierungsfehler
Guten Morgen Muetze1.
Das war genau das Problem. Jetzt funzt es. Danke für die Erläuterungen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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