![]() |
Pointer Verständnisproblem
Hi!
Ich habe ein Pointer verständnissproblem... Ich möchte einen Pointer auf ein TTreeNode zuweisen und das ganze später wieder auch zurück.
Delphi-Quellcode:
Was mache ich falsch?
var tn:^TTreeNode;
fTreeView:^TTreeView; //... with fTreeView^.Items.AddChild(fTreeView^.Selected,sr.Name+'/') do begin tn:=@(fTreeView^.Selected);// hier sagt er "Incompatible type Got "Pointer", expected "TTreeNode"" Selected:=true; // MakeVisible; scan(path+sr.Name+'/'); fTreeView^.Selected:=@tn; end; //... Gruß Teekeks |
Re: Pointer Verständnisproblem
Vergiss die Pointer. Klasseninstanzen sind doch schon Pointer. Außerdem: Was ist denn die Adresse einer Eigenschaft (@TreeView.Selected)?
Delphi-Quellcode:
var tn:TTreeNode;
fTreeView:TTreeView; //... with fTreeView.Items.AddChild(fTreeView.Selected,sr.Name+'/') do begin tn := fTreeView^.Selected; Selected := true; // MakeVisible; scan(path+sr.Name+'/'); fTreeView.Selected := tn; end; //... |
Re: Pointer Verständnisproblem
Ahh. Danke.
|
Re: Pointer Verständnisproblem
Hallo,
um noch mal auf dein Problem zurückzukommen. Ein Pointer ist eine Zeigervariable. Sie hat 4 Byte (32Bit) und diese 4 Byte zeigen auf die Adresse einer anderen Variable. Aber: Du hast das New() vergessen, der Zeiger muss initialisiert werden. #2 umgeht das und das ist gut so ;) Delphi macht das ganze Zeiger-Gefummel für Klassen intern selber. Heiko |
Re: Pointer Verständnisproblem
Ah. ok danke.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 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