Temmelig stor Ttreeview.

Tags:    delphi

Hejsa. Jeg er i gang med at lave min første opdatering til min NWN Script Generator (laver scripts til spillet Neverwinter Nights). Jeg har netop brug et pænt stykke tid på at lave en relativ stor Ttreeview - så vidt jeg kan se er der over 1000 entries fordelt på en del underkategorier. Det har taget mig lang tid at lave, også fordi jeg skulle scripte noget specifikt til hvert punkt.

Og nu står jeg så med problemet - programmet er lang tid om at loade! Det er et program på ca. 1MB compiled, og det tager ca. 10 - 15 sekunder at loade. Meget irriterende. Hvis jeg skal leve med det, må jeg vel det, men det ønsker jeg ikke.

Mit spørgsmål er derfor: Er der en måde, jeg ikke lige har gennemskuet, at gøre dette hurtigere på (jeg er sikker på det er treeview'en, der har gjort det langsomt) - jeg har sat den til ikke at sortere, da jeg troede det måske ville hjælpe.

Eller alternativt, er der en måde jeg kan banke den treeview over i en seperat form, der så ikke kompileres i hovedprogrammet, men ligger ved siden af som en fil, der så kan åbnes fra hovedprogrammet hvis nødvendigt? I så fald hvordan?

Jeg aner ikke hvor svært det her er for jer Delphi guruer, men jeg vil da udlodde, hm, tja, 200 point da jeg i hvert fald vil være død taknemmelig for alt, hvad der virker!



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Husk at bruge BeginUpdate og EndUpdate så træet ikke gentegner sig selv hver gang der bliver tilføjet et item. Det hjælper gerne en del på hastigheden. Hvis du vil have et rigtig hurtigt treeview kan du hente Virtual Treeview fra www.delphi-gems.com. Du skal dog være indstillet på at skulle omskrive alt hvad der har med dit nuværende treeview at gøre, da det er meget anderledes end det treeview der følger med Delphi.



Hejsa. Jeg er i gang med at lave min første opdatering til min NWN Script Generator (laver scripts til spillet Neverwinter Nights). Jeg har netop brug et pænt stykke tid på at lave en relativ stor Ttreeview - så vidt jeg kan se er der over 1000 entries fordelt på en del underkategorier. Det har taget mig lang tid at lave, også fordi jeg skulle scripte noget specifikt til hvert punkt.

Og nu står jeg så med problemet - programmet er lang tid om at loade! Det er et program på ca. 1MB compiled, og det tager ca. 10 - 15 sekunder at loade. Meget irriterende. Hvis jeg skal leve med det, må jeg vel det, men det ønsker jeg ikke.

Mit spørgsmål er derfor: Er der en måde, jeg ikke lige har gennemskuet, at gøre dette hurtigere på (jeg er sikker på det er treeview'en, der har gjort det langsomt) - jeg har sat den til ikke at sortere, da jeg troede det måske ville hjælpe.

Eller alternativt, er der en måde jeg kan banke den treeview over i en seperat form, der så ikke kompileres i hovedprogrammet, men ligger ved siden af som en fil, der så kan åbnes fra hovedprogrammet hvis nødvendigt? I så fald hvordan?

Jeg aner ikke hvor svært det her er for jer Delphi guruer, men jeg vil da udlodde, hm, tja, 200 point da jeg i hvert fald vil være død taknemmelig for alt, hvad der virker!


Hm, det lader til at være noget 'sådan er treeviews altså bare' - jeg var jo bare så naiv at tro, at når bare treeviewet var lavet upfront, så ville det gå hurtigt. Det jeg har fundet ud af er, at tilføje underposterne til treeviewet når jeg får brug med dem (AddChild) - ingen problemer i det, udover at det betyder, at flere timers arbejde med rent faktisk at lave træet er spildt. Til gengæld har jeg (heldigvis) stadig den tekstfil jeg lavede med alle de entries, der skal ske noget på - der er som sagt over 1000! Så jeg laver lige et lille fikst program, der for hver af dem kan sige AddChild(bla bla bla), så det skulle gå relativt hurtigt.

Hvis der er nogen alternative forlag, så kom endelig med dem, gerne hurtigt :)




..



Indlæg senest redigeret d. 03.04.2010 16:26 af Bruger #164


Hej..

Hvor kan man downloade din script-generator..?? :)

/yousif [www.subhi.dk]


http://nwvault.ign.com/Files/other/data/1044998316652.shtml Ved at klikke her![Redigeret d. 16/02-03 17:00:50 af Lilac Soul]



Husk at bruge BeginUpdate og EndUpdate så træet ikke gentegner sig selv hver gang der bliver tilføjet et item. Det hjælper gerne en del på hastigheden. Hvis du vil have et rigtig hurtigt treeview kan du hente Virtual Treeview fra www.delphi-gems.com. Du skal dog være indstillet på at skulle omskrive alt hvad der har med dit nuværende treeview at gøre, da det er meget anderledes end det treeview der følger med Delphi.


Det var read only og lavet under programmerings delen, så det var ikke det, der var problemet. Jeg har besluttet mig for (og er i gang med) bare at tilføje de forskellige treenodes med AddChild og sætte booleans så de kun bliver lavet en gang. Men tak for hjælpen allesammen, og jeg vil kigge på det virtual tree en anden gang



t