AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[VST] Hinzugefügte Nodes sind nicht zu sehen

Ein Thema von Hansa · begonnen am 6. Jan 2010 · letzter Beitrag vom 8. Jan 2010
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

[VST] Hinzugefügte Nodes sind nicht zu sehen

  Alt 6. Jan 2010, 15:33
Hi,

vorab : Titel geht nicht aussagekräftiger, weil Problem zu kompliziert zu beschreiben.

Also : in einem VST müssen zusammengesuchte Daten aus 5 Tabellen angezeigt werden. Jetzt habe ich hierfür ein relativ umfangreiches SelectSQL zusammengebaut. Aber sieh an : es geht zu langsam. Der sucht sich ca. 500.000 Datensätze zusammen. Erstens dauert das schon und zweitens braucht so viel auf einmal niemand. Um den Einfluss des VST auzuschliessen habe ich das mit IBExpert getestet. Geht zwar schneller, aber bei DAUs besteht immer noch die Gefahr, dass die wegen 30 Sek. und mehr den Netzstecker ziehen.

Im FormShow befülle ich nun zuallererst NodeLevel 0. Sonst nichts. Um das + zu erzwingen, obwohl noch gar keine Unterknoten da
sind steht da noch folgendes drin :

vstZeig.HasChildren [NodeBez] := true; Im OnExpanding steht das :

Delphi-Quellcode:
DS.Close;
DS.SelectSQL.Text := ...
DS.Open;
while not DS.Eof do begin
  NodeKopf := vstZeig.AddChild(NodeBez);
  Data := vstZeig.GetNodeData(NodeKopf);
  vstZeig.ValidateNode (NodeKopf, False);
  KopfVar := TKopf.Create;
  KopfVar.Nr := LeseIntFeld (DS,'NR');
  Data^.Table := KopfVar;
  DS.Next;
end;
Unterknoten werden keine angezeigt. Lediglich das + verschwindet. Steht derselbe Quelltext aber im OnShow, dann wird alles richtig angezeigt. Woran kann das liegen ? Ich bin per F8 die While-Schleife durchgehüpft. Das geht alles schon so wie es soll.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: [VST] Hinzugefügte Nodes sind nicht zu sehen

  Alt 6. Jan 2010, 15:46
Sieht soweit alles richtig aus. Ich benutze diese Vorgehensweise auch sehr oft.
Bist du dir sicher, dass Data auf die Richtige Stelle zeigt und dass NodeSize ausreichend groß ist?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Dale

Registriert seit: 7. Apr 2006
Ort: Alsdorf
42 Beiträge
 
Delphi 2006 Professional
 
#3

Re: [VST] Hinzugefügte Nodes sind nicht zu sehen

  Alt 6. Jan 2010, 16:09
Hallo Hansa,
bist du dir sicher, dass "NodeBez" der Knoten ist, der in "OnExpanding" übergeben wird?

Gruß Dale
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: [VST] Hinzugefügte Nodes sind nicht zu sehen

  Alt 6. Jan 2010, 16:37
Thx, das war zumindest die halbe Miete. Habe den Parameter Node übersehen. Und der muss an AddChild übergeben werden, nicht NodeBez. Im FormShow wärs andersrum richtig und hat ja auch so geklappt. Jetzt klappen die Dinger jedenfalls auf. Zwar überall mit denselben Unterknoten, aber immerhin.
Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: [VST] Hinzugefügte Nodes sind nicht zu sehen

  Alt 7. Jan 2010, 19:49
Moin,

jetzt gibts noch eine Kleinigkeit : sofern das + mehrmals angeklickt wird, also ausklappen/einklappen, dann wird die Liste der Unterknoten immer länger. Wie unterbinde ich das ?

Ich finde weder eine Abfrage, ob der Knoten bereits mit Daten gefüllt ist, noch wie man alle Nodes ab einem bestimmten Hauptknoten löscht. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Dale

Registriert seit: 7. Apr 2006
Ort: Alsdorf
42 Beiträge
 
Delphi 2006 Professional
 
#6

Re: [VST] Hinzugefügte Nodes sind nicht zu sehen

  Alt 8. Jan 2010, 08:40
Hallo Hansa,

nun, das ist klar: du fügst ja jedesmal in "OnExpanding" die gleichen Knoten wieder ein. Das brauchst du natürlich nur einmal zu machen. Du könntest dir für jedes Rootnode merken, ob du die Unterknoten schon eingefügt hast. Dann brauchst du beim zweiten aufklappen nichts mehr zu tun.

Gruß
Dale
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: [VST] Hinzugefügte Nodes sind nicht zu sehen

  Alt 8. Jan 2010, 18:53
Zu dem Schluss bin ich auch gekommen.

Delphi-Quellcode:
TNodeObject = class
  gefuellt : Boolean;
end;

TTBezData = class(TNodeObject)
  BezID : Integer;
  Name : string;
end;
Beim ersten expanding dann noch das machen :

TBezData(Data^.Table).gefuellt := true; Und beim nächsten mal eben auswerten. Allerdings : bei so einem komplexen Ding wie dem VST wundert mich schon, dass der das nicht bereits so ähnlich eingebaut haben sollte.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:09 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