![]() |
Im Thread TTreeView zur Laufzeit erzeugen
Hallo,
ich möchte in einem Thread einen TreeView erzeugen. Wenn der Thread startet erzeuge ich hiermit den TreeView:
Delphi-Quellcode:
Wenn ich nun aber ein Item hinzufügen will kommt diese Meldung das My_TreeView kein übergeordnetes Fenster besitzt.
My_TreeView := TTreeView.Create(nil);
Wird ja auch mit NIL erzeugt. In einer Form würde es warscheinlich so aussehen:
Delphi-Quellcode:
Wie kann ich das aber im Thread machen?
My_TreeView := TTreeView.Create(self);
|
Re: Im Thread TTreeView zur Laufzeit erzeugen
Warum willst du eine grafische Komponente in einem Thread erzeugen der kein Fenster hat? Du wirst den Treeview ja nie sehen.
|
Re: Im Thread TTreeView zur Laufzeit erzeugen
Ich brauche den TreeView zur virtuellen Darstellung. Der Treeview wird dann per Stream an Clients geschickt.
Nach etwas Suchen bin ich auch darauf gestoßen:
Delphi-Quellcode:
Dann geht's!
My_TreeView := TTreeView.CreateParented(THandle(-3));
|
Re: Im Thread TTreeView zur Laufzeit erzeugen
Zitat:
Auch ist das Vorhaben mit einem Thread und einem Visuellen Control keinesfalls zu empfehlen. Du solltest folgendes versuchen. 1. Erstelle das Control im Mainthread 2. Befülle das Teil mit Daten 3. Streame die Daten in einen Threadsaven Buffer 4. Erst jetzt greifst Du mit dem Thread auf den Buffer zu, und arbeitest mit dem Stream weiter. lg. Astat |
Re: Im Thread TTreeView zur Laufzeit erzeugen
Zitat:
Delphi-Quellcode:
type
TNode = class(TObject) public // besser über Properties, aber ich bin gerade Schreibfaul FirstChild: TNode; NextSibling: TNode; MeineDaten: Integer; // ... procedure SaveToStream(Stream: TStream); procedure LoadFromStream(Stream: TStream); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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