![]() |
[VST] AV bei Doppelklick auf Header
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich wollte mich mit dem VirtualStringTree auseinandersetzen, indem ich ![]() Ich habe jetzt also ein VST mit sichtbarem Header und 5 Columns. Bei dem Klick auf den Header werden die Einträge sortiert (wie beim Explorer). Das Problem was ich jetzt jedoch habe ist das wenn mann doppelt auf den Header klickt eine AV produziert wird. Und zwar an dieser Stelle:
Delphi-Quellcode:
Zum besseren Verständnis habe ich ein kleines Beispiel-projekt erstellt in dem man dieses Verhalten beobachten kann (siehe Anhang).
PTreeData = ^TTreeData;
TTreeData = record Column :array[0..4] of String; end; {...} procedure TForm1.VSTCompareNodes(Sender: TBaseVirtualTree; Node1, Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer); var Data1: PTreeData; Data2: PTreeData; begin Data1:=vst.GetNodeData(Node1); Data2:=vst.GetNodeData(Node2); if (not Assigned(Data1)) or (not Assigned(Data2)) then Result:=0 else Result:=CompareText(Data1.Column[Column], Data2.Column[Column]); // < GENAU DA // end; Vielen Dank im Vorraus an alle. Mike |
AW: [VST] AV bei Doppelklick auf Header
Hallo
Verwendest du die neuste Version von VST? Bei mir tritt der Fehler nämlich nicht auf. |
AW: [VST] AV bei Doppelklick auf Header
Zitat:
|
AW: [VST] AV bei Doppelklick auf Header
Zitat:
|
AW: [VST] AV bei Doppelklick auf Header
Zitat:
Delphi-Quellcode:
MfG Mike
// Version 4.8.6
Edit: Ist auch scheinbar die neueste: ![]() |
AW: [VST] AV bei Doppelklick auf Header
Bei VST 4.8.5 tritt der Fehler nicht auf. Der Fehler tritt auch in der neusten Version 5.0.0 (SVN) auf. Das Problem scheint das Ereingis OnHeaderClick zu verursachen, welches bei einem Klick zwei Mal auftritt anstatt einmal.
|
AW: [VST] AV bei Doppelklick auf Header
Zitat:
Ok,das hab ich jetzt gemacht und es scheint auch funktionieren. Danke @all die mir hier geholfen haben :cheers: MfG Mike |
AW: [VST] AV bei Doppelklick auf Header
Zitat:
Melde doch den Fehler nach Möglichkeit noch auf ![]() |
AW: [VST] AV bei Doppelklick auf Header
Ich denke da fehlt das ^ Zeichen.
Data1: PTreeData; Also hält data1 nur einen Zeiger. Wenn du dann im Compare Data1.Column[Column] nutzt, greifst du eigentlich auf den Zeiger zu und nicht auf die Datenstruktur, welchen die Column enthält. Es muss so heißen:
Delphi-Quellcode:
if (not Assigned(Data1^)) or (not Assigned(Data2^)) then
Result:=0 else Result:=CompareText(Data1^.Column[Column], Data2^.Column[Column]); |
AW: [VST] AV bei Doppelklick auf Header
@generic: selbst wenn der Code funktionieren würde gäbe es immer noch eine AV.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 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