Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bug in VirtualStringTree bei BeforeCellPaint? (https://www.delphipraxis.net/143503-bug-virtualstringtree-bei-beforecellpaint.html)

Oracle 17. Nov 2009 09:54


Bug in VirtualStringTree bei BeforeCellPaint?
 
Hallo zusammen,

ich habe grade ein Update von VirtualTreeView von Version 4.5.2 auf 4.8.5 vollzogen.
Nun stelle ich fest dass dort das Event BeforeCellPaint nicht mehr funktioniert.

Delphi-Quellcode:
procedure TCurvesTree_Frame.CurveVSTBeforeCellPaint(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  CellRect: TRect);
begin
  if assigned(node) then
    Data:=CurveVST.GetNodeData(Node); // wird nie aufgerufen da Node immer nil ist
end;
Wie im Code beschrieben liefert BeforeCellPaint nicht mehr den grade zu bearbeitenden Node mit. In der alten Version funktionierte das tadellos. Ich bin schon am überlegen wieder auf 4.5.2 zurückzuwechseln. Die Funktion brauche ich unbedingt, da ich sie an mehreren Stellen in meinen Projekten verwende.
Ider hat sich einfach nur die Verwendung verändert.
Was ich machen will ist den Hintergrund einzelner Zeilen verschiedenfarbig einzufärben.

Ich hoffe ihr könnt mir helfen.

Stevie 17. Nov 2009 10:02

Re: Bug in VirtualStringTree bei BeforeCellPaint?
 
Dein Fehler muss woanders liegen, das Event bekommt nach wie vor die Node übergeben, für das es aufgerufen wird.
Ich habe schon ein Projekt von 4.3.1 auf 4.8.5 aktualisiert und alles funktionierte (außer, dass der letzte Parameter bei BeforeCellPaint hinzukam und ich ihn in duzenden Stellen hinzufügen musste)

hoika 17. Nov 2009 10:28

Re: Bug in VirtualStringTree bei BeforeCellPaint?
 
Hallo,

mach mal ein Bsp-Projekt und hänge es hier an.


Heiko

Oracle 17. Nov 2009 12:14

Re: Bug in VirtualStringTree bei BeforeCellPaint?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mist. jetzt habe ich erst recht den Salat.
Ich fand überreste von der 4.5.2er Version auf meinem Rechner. Also habe ich die gelöscht und das Setup der 4.8.5er nochmal ausgeführt. Ging auch ohne Murren durch
Wenn ich jetzt aber Delphi 2007 starte kommt angehängte Fehlermeldung.
Jetzt krieg ich Delphi gar nicht dazu mit den Virtual Tree View zu arbeiten.
Hilfe! :(

Edit: Hab grad nochmal die alte 4.5.2 Version versucht. Die kann ich installieren und die krieg ich auch zum laufen. Aber keine Chance bei irgendeiner neueren

Stevie 17. Nov 2009 13:13

Re: Bug in VirtualStringTree bei BeforeCellPaint?
 
Sieht nach einem Versionskonflikt aus - irgendwo liegen noch die Reste deiner 4.5.2 rum. Suche mal nach VirtualTreesD11.* und VirtualTrees.* und lösche sie (Delphi vorher schließen). Falls du die 4.5.2 Sourcen auf deinem Rechner behälst, entferne den Suchpfad aus deinem Delphi. Dann eine neue 4.8.5 Installation durchführen.

Oracle 17. Nov 2009 15:19

Re: Bug in VirtualStringTree bei BeforeCellPaint?
 
Super jetzt gehts! Vielen Dank :-D

Nico80 8. Mai 2013 13:51

AW: Bug in VirtualStringTree bei BeforeCellPaint?
 
Kann ich irgenwie beide Versionen installieren. Möchte nicht x-Stellen ändern.
Danke für Tipps...

generic 8. Mai 2013 14:35

AW: Bug in VirtualStringTree bei BeforeCellPaint?
 
Zitat:

Zitat von Oracle (Beitrag 971963)
Delphi-Quellcode:
    Data:=CurveVST.GetNodeData(Node); // wird nie aufgerufen da Node immer nil ist

würde ich in
Delphi-Quellcode:
Data:=Sender.GetNodeData(Node);
ändern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 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