AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

[VST] AV bei Doppelklick auf Header

Ein Thema von Mikescher · begonnen am 25. Jul 2010 · letzter Beitrag vom 29. Jul 2010
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#1

[VST] AV bei Doppelklick auf Header

  Alt 25. Jul 2010, 16:56
Hallo,

ich wollte mich mit dem VirtualStringTree auseinandersetzen, indem ich dieses Tutorial hier durchmache.

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:
  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;
Zum besseren Verständnis habe ich ein kleines Beispiel-projekt erstellt in dem man dieses Verhalten beobachten kann (siehe Anhang).

Vielen Dank im Vorraus an alle.
Mike
Angehängte Dateien
Dateityp: pas Unit1.pas (3,1 KB, 5x aufgerufen)
Dateityp: zip Projekt1.zip (405,5 KB, 6x aufgerufen)
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

AW: [VST] AV bei Doppelklick auf Header

  Alt 25. Jul 2010, 17:35
Hallo

Verwendest du die neuste Version von VST? Bei mir tritt der Fehler nämlich nicht auf.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.980 Beiträge
 
Delphi 12 Athens
 
#3

AW: [VST] AV bei Doppelklick auf Header

  Alt 25. Jul 2010, 17:47
Hallo

Verwendest du die neuste Version von VST? Bei mir tritt der Fehler nämlich nicht auf.
Ich kann das Projekt nicht mal kompilieren, da die Event-Deklarationen nicht passen (VST 4.8.5)
Uwe Raabe
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

AW: [VST] AV bei Doppelklick auf Header

  Alt 25. Jul 2010, 17:57
Hallo

Verwendest du die neuste Version von VST? Bei mir tritt der Fehler nämlich nicht auf.
Ich kann das Projekt nicht mal kompilieren, da die Event-Deklarationen nicht passen (VST 4.8.5)
Konnte ich auch nicht, musste 2 Deklarationen anpassen.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#5

AW: [VST] AV bei Doppelklick auf Header

  Alt 25. Jul 2010, 17:59
Hallo

Verwendest du die neuste Version von VST? Bei mir tritt der Fehler nämlich nicht auf.
Also wenn ich in die VirtualTrees.pas gehe steht (als Kommentar) oben: // Version 4.8.6 MfG Mike

Edit: Ist auch scheinbar die neueste: http://www.soft-gems.net/index.php?o...d=12&Itemid=33
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com

Geändert von Mikescher (25. Jul 2010 um 18:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

AW: [VST] AV bei Doppelklick auf Header

  Alt 25. Jul 2010, 19:12
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.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#7

AW: [VST] AV bei Doppelklick auf Header

  Alt 25. Jul 2010, 19:18
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.
Also ist das sinnvollste jetzt sich 4.8.5 zu laden und das zu verwenden, oder ?

Ok,das hab ich jetzt gemacht und es scheint auch funktionieren.
Danke @all die mir hier geholfen haben

MfG Mike
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com

Geändert von Mikescher (25. Jul 2010 um 19:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#8

AW: [VST] AV bei Doppelklick auf Header

  Alt 26. Jul 2010, 19:01
Also ist das sinnvollste jetzt sich 4.8.5 zu laden und das zu verwenden, oder ?
Entweder 4.8.5 verwenden oder hoffen, dass jemand den Fehler noch behebt.
Melde doch den Fehler nach Möglichkeit noch auf code.google.com
Thomas
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#9

AW: [VST] AV bei Doppelklick auf Header

  Alt 27. Jul 2010, 00:23
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]);
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#10

AW: [VST] AV bei Doppelklick auf Header

  Alt 27. Jul 2010, 07:12
@generic: selbst wenn der Code funktionieren würde gäbe es immer noch eine AV.
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:01 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